55

cacertsとファイルの違いについて真剣に混乱していjssecacertsます。

jssecacertsデフォルトでは、Java はファイルを検索してからファイルを検索することを知っていcacertsます。

jssecacertsしかし、ファイルのポイントは何ですか?

私の理解では、新しいトラストストアを使用する必要がある場合は、のコピーをcacerts作成し、すべての新しい信頼できる CA をそのコピーに追加する必要があります。cacerts(新しい CA を含む)のコピーは、-Djavax.net.ssl.trustStoreシステム プロパティによって参照される必要があります。そうすれば、そのマシンで実行される他の Java アプリケーションが誤ってデフォルト以外の CA を信頼することがなくなります。

4

3 に答える 3

42

Java™ Secure Socket Extension (JSSE) Reference Guideから、TrustManagerFactory次の手順を使用して信頼できる素材を見つけようとします。

  1. システム プロパティjavax.net.ssl.trustStore
  2. java-home/lib/security/jssecacerts
  3. java-home/lib/security/cacerts(デフォルトで出荷されます)

これは、構成概念よりも規則に基づいていると思います。余分なコーディング作業なしcacertで使用されます。追加のプライベート CA/署名証明書の場合、開発者は最初または 2 番目の方法を使用できます。前者には特定の証明書のみが含まれ、後で証明書のリストが含まれる場合があります。

于 2013-06-05T03:46:43.133 に答える
21

私が理解しているように、cacertsファイルは出荷されたデフォルトのものです。

ファイルがある場合、jssecacertsそれは排他的に使用されます -cacertsファイルに加えてではありません。

私の推奨事項: ファイルを保持し、ファイルに必要なプライベート CA/署名証明cacerts書をコピーして追加します。jssecacertsjssecacerts

于 2011-04-20T23:05:55.387 に答える
4

良い質問。JSSEがかつてアドオンだったという歴史的事実から生じると思います。JSSE では複数のプロバイダーが許可されているため、おそらくjssecacertsJSSE プロバイダー専用であり、他のプロバイダーは独自のプロバイダーを使用している可能性があります。

しかし、JSSE の前に誰が cacerts を使用したかは別の問題です。

于 2011-04-19T01:05:33.963 に答える