Firefox 52以降で可能になったエンタープライズの証明書の自動インポート機能は、WindowsでActive Directoryのグループポリシー機能を使って配布された証明書をFirefoxから認識できるようになるという物でした。そのため、Windows以外の環境では使用できず、また、WindowsでもActive Directoryを運用していない場合はレジストリを直接編集して証明書を配布する必要がありました。
Firefox 64およびFirefox ESR60.4では新たに、PEM形式の証明書ファイルとして配布されたルート証明書の自動インポートが可能になりました。この機能はプラットフォームを問わず動作するため、LinuxやmacOSを企業で運用する場合にも使用できます。
以下、Ubuntu 16.04LTSの環境でCert Importerアドオンのテスト用のダミーのルート証明書(cacert.pem
)をインポートさせる場合を例として、具体的な手順を解説します。
ステップ1:証明書ファイルの配布
PEM形式の証明書ファイルは、以下の位置に設置します。
-
Windows:
-
%AppData%\Mozilla
(C:\Users\(ユーザー名)\AppData\Roaming\Mozilla\Certificates
) -
%LocalAppData%\Mozilla
(C:\Users\(ユーザー名)\AppData\Local\Mozilla\Certificates
)
-
-
macOS
-
/Users/(username)/Library/Application Support/Mozilla/Certificates
-
/Library/Application Support/Mozilla/Certificates
-
-
Linux
-
~/.mozilla/certificates
-
/usr/lib/mozilla/certificates
-
これら以外の位置に置かれた証明書ファイルはインポートできませんので、注意して下さい。
それでは実際に、cacert.pemをダウンロードして、上記のいずれかの位置に設置します。
ここでは ~/.mozilla/certificates
の位置に置く事にしました。
$ mkdir -p ~/.mozilla/certificates
$ curl https://raw.githubusercontent.com/clear-code/certimporter/master/doc/cacert.pem > ~/.mozilla/certificates/cacert.pem
ステップ2:証明書ファイルをインポートするためのポリシー設定の作成と配布
以下の形式でポリシー設定ファイルを作成し、policies.json
というファイル名で保存します。
{
"policies": {
"Certificates": {
"Install": [
"ファイル名1",
"ファイル名2",
...
]
}
}
}
今回は cacert.pem
一つだけをインポートするため、以下のようになります。
{
"policies": {
"Certificates": {
"Install": [
"cacert.pem"
]
}
}
}
このファイルを、Firefoxの実行ファイルと同じ位置の distribution
ディレクトリに設置します。
具体的には以下の要領となります。
-
Windows:
C:\Program Files\Mozilla Firefox\distribution\policies.json
など
-
macOS
/Applications/Firefox.app/Contents/MacOS/distribution/policies.json
など
-
Linux
/usr/lib/firefox/distribution/policies.json
など
今回の実験環境では ~/opt/firefox-nightly/
配下に置いたFirefox(Nightly)を使用するため、設置先は ~/opt/firefox-nightly/distribution/policies.json
とします。
$ mkdir -p ~/opt/firefox-nightly/distribution
$ cat << END > ~/opt/firefox-nightly/distribution/policies.json
> {
> "policies": {
> "Certificates": {
> "Install": [
> "cacert.pem"
> ]
> }
> }
> }
> END
ステップ3:Firefoxの起動と結果の確認
以上で証明書の自動インポート機能の準備は完了です。Firefoxを起動すると policies.json
に列挙された証明書ファイルが自動的に検出され、ルート証明書としてFirefoxの証明書データベースにインポートされます。
以上の手順でインポートされた証明書は、設定画面の「プライバシーとセキュリティ」配下の「証明書を表示...」ボタンをクリックして開かれる証明書マネージャーの一覧上に現れます(グループポリシーで配布されたエンタープライズの証明書はこの一覧上には現れません)。
先の cacert.pem
は「!example」という組織の「example.com」という名前の証明書になっていますので、実際に証明書の一覧に現れている事を確認してみて下さい。
まとめ
以上、Firefox 64およびFirefox ESR60.4で可能となった、PEM形式の証明書ファイルによるルート証明書の自動インポートの手順をご案内しました。
Firefox 64では他にもポリシー設定にいくつかの新機能が加わっています。また、ポリシー設定に関する変更はFirefox ESR60へも随時反映されています。5月12日付の記事のポリシー設定の解説に現時点で判明している変更点を反映済みですので、併せてご覧下さい。
また、当社ではFirefoxの法人での利用中に発生した様々なトラブルに対するテクニカルサポートを有償でご提供しています。Firefoxの運用にお悩みのシステム管理者さまは、お問い合わせフォームよりお気軽にお問い合わせ下さい。