web-dev-qa-db-ja.com

thunderbird.cfg信頼CAルート証明書

Thunderbird自動構成の使用を開始したばかりで、メールクライアントを起動するすべてのユーザーの会社標準のimap、smtp、およびldapアカウントを自動的に作成するのに非常に便利です。 。

ただし、会社のLDAPサーバー(実際にはWindowsドメインコントローラー)は、会社の認証局によって発行された証明書を使用します。これはもちろんThunderbirdによって信頼されていません。 。結果として、LDAPリモートアドレス帳は、CA証明書が手動でインポートされ、信頼されるまで同期されません。

親愛なる_Thunderbird.cfg_を使用して、CAルートをインポートして信頼できますか?

私たちはすでに次のことを試しました 2つの解決策 、そして彼らは明らかに何もしませんでした:おそらくそれらはFirefox専用であるか、私たちの側で正しく構成されていません。

  1. windowsオペレーティングシステムによって信頼されているcaルートを信頼しようとしています。

    _pref("security.enterprise_roots.enabled, true");
    _
  2. cAルート証明書をインポートして信頼しようとしています:

    _var Cc = Components.classes;
    var Ci = Components.interfaces;
    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) {}
    // This should be the certificate content with no line breaks at all.
    cert = "MII ... ==";
    certdb.addCertFromBase64(cert, "C,C,C");
    _

更新、および解決策。

メソッド_1._を理解できませんでしたが、最終的にメソッド_2._で成功しました。間違いは、私の明らかな文の誤解でした。

3番目のパラメーターはAPIから削除されているため、含めないでください

_addCertFromBase64_には2つのパラメーターしか必要ないと思いましたが、空白の文字列であっても、3番目のパラメーターが必要です。コマンドをcertdb.addCertFromBase64(cert, "C,C,C","");に編集しても機能しました。

1
simlev

メソッドについては2.、パラメータがありません。次のコードが機能します(最後の行を参照)。

var Cc = Components.classes;
var Ci = Components.interfaces;
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) {}
// This should be the certificate content with no line breaks at all.
cert = "MII ... ==";
certdb.addCertFromBase64(cert, "C,C,C","");
0
simlev