web-dev-qa-db-ja.com

独自のルート証明書を使用してThunderbirdのデプロイを自動化するためのサポートが必要

現在、ラボでセルフホストメールソリューションを設定中であり、独自のCAである必要があります。私たちが抱えている問題は、ルート証明書が有効であることがわかっていても、ルート証明書が信頼できないとThundebirdが不平を言っていることです。

問題は、Thunderbirdには信頼できる独自の証明書が付属しており、コンピューターの信頼できる証明書を参照しないため、ルート証明書を持つすべてのクライアントにGPOをプッシュするだけでは機能しないことです。

ルート証明書をThundebirdにインポートする展開を自動化する必要があり、その方法を理解するのに深刻な問題があります。

Autoconfigは機能しており、Thunderbirdは正しいサーバー構成を取得していますが、証明書エラーは引き続き発生します。唯一の既知の方法は、証明書をThunderbirdsの信頼できる証明書に手動でインポートすることです。

ここの誰かがどのように進めるかについての提案がありますか?

4
nillenilsson

ThunderbirdはFirefoxと同じプラットフォームに基づいているため、Firefoxが使用するのと同じツールを使用できるはずです。

使用できるツールには、最も単純なものから最も複雑なものの順にいくつかのオプションがあります。

1.内蔵されている場合があります!

Thunderbirdは、OS証明書ストアからの証明書の自動インポートを実験的にサポートしています。

手動で有効にする方法は次のとおりです。

  1. メニューを開き、[オプション]をクリックします
  2. [詳細設定]タブに移動します
  3. [構成エディター]をクリックします
  4. 「リスクを受け入れます!」をクリックします。そうするように促された場合。
  5. _security.enterprise_roots.enabled_を検索します
  6. _security.enterprise_roots.enabled_をダブルクリックしてtrueに設定します。

これを自動化するには、 構成ファイルをデプロイする コンピューターにインストールします。

2.デフォルトプロファイルを展開します

証明書を自分のプロファイルに追加してから、プロファイルの_cert8.db_ファイルをメインプログラムフォルダーにコピーできます。コンピューターで作成された新しいプロファイルは、そのバージョンの_cert8.db_を使用します。

残念ながら、プロファイルがすでに作成されているため、Thunderbirdをすでに開いているユーザーには役立ちません。

詳細については、 https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Thunderbird_Enterprise_Tips#Using_a_private_CA_certificate を参照してください。

3.構成ファイルをデプロイします

上記のオプション#1で説明およびリンクされているように、Mozilla製品はC:\Program Files (possibly x86)\Mozilla Thunderbird\defaults\pref\autoconfig.jsでの構成ファイルのデプロイをサポートしています。

そのファイルに、証明書を証明書ストアに追加するスクリプトを入れることができます。次に例を示します。

_var cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all.

var observer = {
  observe: function observe(aSubject, aTopic, aData) {
    var certdb = Components.classes["@mozilla.org/security/x509certdb;1"].getService(Components.interfaces.nsIX509CertDB);
    var certdb2 = certdb;
    try {
      certdb2 = Components.classes["@mozilla.org/security/x509certdb;1"].getService(Components.interfaces.nsIX509CertDB2);
    } catch (e) {}
    certdb2.addCertFromBase64(cert, "C,C,C", "");
  }
}
Components.utils.import("resource://gre/modules/Services.jsm");
Services.obs.addObserver(observer, "profile-after-change", false);
_

4.Mozillaのcertutil実行可能ファイル

certutilを実行するログインスクリプトを作成して、証明書をユーザーのプロファイルに追加できます。 このフォーラム投稿 サンプルスクリプト(Firefox用)があり、その重要な部分が以下にコピーされています(Thunderbird用に変更されています):

_strAppDataDir = WshShell.ExpandEnvironmentStrings("%APPDATA%")
strThunderbirdProfilesDir = strAppDataDir & "\Thunderbird\Profiles\"

Set arrThunderbirdProfileList = objFSO.GetFolder(strThunderbirdProfilesDir).SubFolders

For Each ThunderbirdProfile In arrThunderbirdProfileList
    'Create a backup of the old cert8.db file. This line is optional.
    objFSO.CopyFile ThunderbirdProfile & "\cert8.db" , ThunderbirdProfile & "\cert8.db.old", OverWriteFiles
    'Add the local CA certificate to cert8.db and assign appropriate trust levels.
    Call WshShell.Run(strCertutilPath & " -A -n " & Chr(34) & strLocalCertificateAuthorityName & Chr(34) & " -i " & strCertificateFilePath & " -t " & Chr(34) & strTrustAttributes & Chr(34) & " -d " & Chr(34) & ThunderbirdProfile & Chr(34), 0, true)
  Next
_

(注:これを同じ名前のMicrosoftのプログラムと混同しないでください)

5.管理ツールを使用できます

CCK2 は、Mozilla製品用のサードパーティの管理ツールです。詳細については、そのドキュメントを参照してください。

2
Moshe Katz