はじめに
前回、ChromeOS 端末に実際に設定を行い、動作確認を行いました。
今回は、Linux 端末に実際に設定を行い、その動作確認を行っていきたいと思います。
使用する端末は、 Arm64 版 Debian GNU/Linux 12 (bookworm) です。
※ Linux は、OS のバージョンやディストリビューションによって、設定メニューやコマンドなどに違いがあります。そのため、本手順を試す場合は、対象となる端末に合わせた対応をお願いします。
本記事は、「開発環境について/外部アクセス対応のHTTPSテスト環境の構築」により、パソコン側の設定が完了していることを前提とし、 Linux 端末に実際に設定し、動作確認を行っていきます。
使用するパソコン側の IP アドレス( 192.168.10.108 )やポート番号( 3000 )も変更ありません。
ルート認証局(CA)の証明書も HTTPS テスト環境のサーバーからダウンロードする方法で行います。
※ Linux 端末へ転送するのは rootCA.pem のみです。認証局の秘密鍵である rootCA-key.pem は、絶対に転送・公開しないでください。
※ ルート認証局(CA)の証明書を HTTP / HTTPS サーバーから取得する方法は、自分が管理している開発用プライベートネットワーク内に限定した方が安全です。ダウンロード後はすみやかに、ルート認証局(CA)の証明書を public フォルダーから削除することをおすすめします。
※ 以下は、筆者が使用した Arm64 版 Debian GNU/Linux 12 (bookworm) で確認した手順です。 Linux のバージョンやディストリビューションによって、設定項目の名称や階層、コマンドが異なる場合があります。
1. Linux 端末でのルート認証局(CA)の証明書の受取
Linux 端末から HTTPS サーバーにアクセスしてルート認証局(CA)の証明書を取得します。
※ 本記事では、ブラウザに Chrome を使用しています。
ブラウザを立ち上げ、URL 欄に 以下を入力:
https://192.168.10.108:3000/rootCA.pem
1-1. 警告画面の表示
警告画面が表示されます。画面下部の「詳細設定」をクリックします。
※ 本記事のスクリーンショットでは、操作する箇所を朱色の円で囲んで示しています。
1-2. 新たな警告画面の表示
新たな警告画面が表示されます。画面中央の「192.168.10.108にアクセスする(安全ではありません)」をクリックします。
1-3. ルート認証局(CA)の証明書のダウンロード完了
rootCA.pem のダウンロードが完了した旨のポップアップ画面が表示されます。
2. Linux にルート認証局(CA)を登録する
Linux では、OS やアプリケーションによって利用する証明書ストアが異なる場合があります。
本記事では、Chrome から HTTPS テスト環境へアクセスすることを目的として、Chrome / Chromium が利用する NSS Shared DB にルート認証局(CA)を登録します。
Chromium では、M146 以降、新規に使用する NSS Shared DBの デフォルトパスが ~/.local/share/pki/nssdb/ に変更されています。ただし、既存の ~/.pki/nssdb/ がある場合は、そちらが使用されます。
筆者の環境では ~/.pki/nssdb/ が使用されているため、本記事ではこちらに certutil コマンドで証明書を登録します。
登録後に Chrome から HTTPS テスト環境へ警告なくアクセスできることを確認しました。
※ 証明書ストアの利用方法は、OS やブラウザによって異なります。詳しい仕組みについては、後の記事で解説します。
2-1. certutil コマンドによる証明書の設定
ターミナルを開き、シェルから下記コマンドを入力します。
※ 筆者の環境では、bash を使用しています。
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "mkcert rootCA" -i ~/Downloads/rootCA.pem
※ NSS DB にパスワードが設定されている場合は、入力を求められることがあります。表示された場合は、画面の指示に従って入力してください。
※ certutil コマンドが見つからない場合は、Debian / Ubuntu では libnss3-tools パッケージをインストールしてください。
sudo apt install libnss3-tools
ここまでで、ルート認証局(CA)証明書の設定は完了です。続いて、動作確認を行っていきます。
3. ブラウザで警告が表示されないことを確認
ブラウザを閉じ再起動し、URL 欄に 以下を入力:
https://192.168.10.108:3000/
警告画面や警告表示がなく、サイトが表示されることを確認します。
※ 筆者の環境では、証明書を登録しただけでは警告が消えませんでした。同一タブや新しいタブでのアクセスも試しましたが、ブラウザを再起動することで、警告が表示されなくなりました。
モバイル端末の場合と同様に、今回のアクセス先は localhost ではなく 192.168.10.108 ですが、HTTPS接続によって Secure Context として扱われるため、Secure Context を必要とする OPFS も利用できます。
※ 使い方については、「データ保存技術/OPFS の動作確認(非同期操作)」を参照してください。