
内部ネットワーク example.com 用にカスタム ルート証明機関を作成しました。理想的には、この証明機関に関連付けられた CA 証明書を Linux クライアント (Ubuntu 9.04 および CentOS 5.3 を実行) に展開して、すべてのアプリケーションが自動的に証明機関を認識するようにしたいと考えています (つまり、この証明機関を信頼するように Firefox、Thunderbird などを手動で構成する必要はありません)。
私は、PEM でエンコードされた CA 証明書を /etc/ssl/certs/ と /usr/share/ca-certificates/ にコピーし、/etc/ca-certificates.conf を変更して update-ca-certificates を再実行することで、Ubuntu でこれを試みましたが、アプリケーションは、システムに別の信頼できる CA を追加したことを認識していないようです。
したがって、CA 証明書をシステムに一度追加することは可能ですか、それとも、ネットワーク内でこの CA によって署名されたホストへの SSL 接続を試みる可能性のあるすべてのアプリケーションに CA を手動で追加する必要がありますか? CA 証明書をシステムに一度追加することが可能な場合、どこに追加する必要がありますか?
ありがとう。
答え1
要するに、すべてのアプリケーションを個別に更新する必要がある
Firefox と Thunderbird でも証明書は共有されません。
残念ながら、Linux には SSL 証明書を保存/管理するための中心的な場所がありません。Windows にはそのような場所がありますが、結局同じ問題が発生します (Firefox/Thunderbird は、SSL 証明書の有効性を判断するために Windows 提供の API を使用しません)。
各ホストで puppet/cfengine のようなものを使い、それらのツールが提供するメカニズムを使用して、必要なルート証明書をすべてのクライアントに配置します。
答え2
残念ながら、Firefox や Thunderbird などのプログラムは独自のデータベースを使用します。
ただし、すべてのプロファイルを検索するスクリプトを作成してから、証明書を追加することもできます。証明書を追加するためのツールは次のとおりです。 http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html
また、デフォルトの cert8.db ファイルを設定することもできるので、新しいプロファイルにもそれが適用されます。
他のアプリケーションの場合、中央ストアをサポートするかどうかが問題になります。
答え3
指定した方法により、中央の /etc/ssl/certs/ca-certificates.crt が更新されます。ただし、ほとんどのアプリケーションはこのファイルを使用するように設定されていません。ほとんどのアプリケーションは、中央のファイルを指すように設定できます。再構成せずにすべてがこのファイルを使用するように自動的に設定する方法はありません。
このファイルをデフォルトで使用するには、Ubuntu/Debian でバグを報告する価値があるかもしれません。
答え4
Ubuntu やその他のディストリビューションにカスタム PKI CA を追加できます。ここにリンクがあります。役に立つかもしれません。 Linux 証明書管理