web-dev-qa-db-ja.com

FirefoxにシステムCA証明書を信頼させる方法は?

私たちのネットワーク管理者は最近、ファイアウォール/ルーターでHTTPS検査を有効にしました。 IEユーザーの場合、証明書はすべてドメインに参加しているマシンのActive Directory経由で配布されているため、これで問題ありません。ただし、実際にはすべてのHTTPSで証明書エラーをスローしているFirefoxユーザーが多数います地点。

Firefoxは独自のCAストアを使用します そして、彼らはそれを本当に誇りに思っています 。デフォルトでFirefoxがシステム証明書ストアを信頼するようにする方法はありますか? Linuxでこれを行う方法についての投稿はたくさんありますが、Windowsについては何もありません。

この投稿 からは不可能だと思いますが、その投稿はほぼ4歳です。

31
Wes Sayeed

Firefox 49以降は Windows CA証明書の一部のサポート があり、Firefox 52以降はActive Directoryが提供するエンタープライズルート証明書をサポートしています。macOSでは、バージョン63以降、キーチェーンから読み取ることもできます。

Firefox 68以降、この機能はESR(エンタープライズ)バージョンではデフォルトで有効になっていますが、(標準)高速リリースでは無効になっています。

次のブール値を作成することにより、about:configでWindowsおよびmacOSに対してこの機能を有効にできます。

security.enterprise_roots.enabled

trueに設定します。

GNU/Linuxの場合、これは通常p11-kit-trustによって管理され、フラグは必要ありません。

システム全体への設定の展開

Firefox 64以降、 https://support.mozilla.org/en-US/kb/setting-certificate-authorities-firefox に記載されている、ポリシーを使用する新しい推奨される方法があります。

レガシーバージョンの場合、FirefoxのインストールフォルダーはWindowsレジストリから取得でき、次にdefaults\pref\サブディレクトリに移動して、次の内容で新しいファイルを作成します。

/* Allows Firefox reading Windows certificates */    
pref("security.enterprise_roots.enabled", true);

.js拡張子を付けて保存します。 trustwincerts.jsそしてFirefoxを再起動します。エントリは、すべてのユーザーに対してabout:configで表示されます。

Windows証明書をシステム全体に展開する

49から51までのFirefoxでは、「ルート」ストアのみをサポートしています。 Firefox 52以降、ADを介してドメインから追加されたストアを含む他のストアをサポートしています。

これは少し範囲外ですが、Firefoxがバージョン49から51まで、または単にローカルテストのためにサポートしている唯一の証明書ストアであったことを説明しています。これはすべてのローカルマシンユーザーに対して展開されるため、CMD/PowerShellウィンドウまたは独自の自動展開スクリプトで管理者権限が必要です。

certutil -addstore Root path\to\cafile.pem

これは、マウスを使用する場合は、管理コンソールから多くのウィンドウをクリックして実行することもできます( 方法:MMC Snap-In で証明書を表示する)) 。

47
user241212

これらの証明書をFirefoxとWindows証明書ストアに展開することを検討しましたか?

https://wiki.mozilla.org/CA:AddRootToFirefox いくつかのオプションの詳細:

  1. certutilを使用して、証明書データベースを直接変更します。
  2. バイナリの横にJavaScriptファイルを配置して、Firefoxのautoconfig機能を使用し、証明書を追加します。

    var certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
    var certdb2 = certdb;
    try {
        certdb2 = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB2);
    } catch (e) {}
    cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all.
    certdb2.addCertFromBase64(cert, "C,C,C", "");
    
  3. 証明書データベースファイルを直接配布します。
  4. ディストリビューションの証明書を含めて、インストール用にFirefoxをパッケージ化します。
  5. CCK2 を使用して、証明書を追加する拡張機能を作成します。
2
wfaulk

グループポリシーを使用してFirefoxルート証明書を管理する機能を提供する 無料プロジェクト があります。 Firefoxデータベースからルート証明書をインストールまたは削除できます。

1
Slipeer

システムストアの使用を強制する適切な方法はありませんが、適切な回避策があります(カスタマイズされたfirefox互換ストアの使用を強制します)。

以下のスクリプトは、ログイン/ログオフ時にうまく機能します。

Stop-Process -processname firefox

$DBPath="\\yourserver\yourshare\cert8.db"
$FirefoxProfiles=Get-ChildItem $Env:appdata\Mozilla\Firefox\Profiles     
$DB=Get-Item $DBPath    
ForEach ( $Profile in $FirefoxProfiles )
{
    $FullPath=join-path $Env:appdata\Mozilla\Firefox\Profiles $Profile
    Copy-Item $DB $FullPath
    $FullPath
}
1
Tim Brigham