Cacertsとkeystoreの2つの違いは何ですか?
これらのリンク cacerts および keystore にある定義を使用すると、それらは証明書のコレクションであるように見えますが、(Java)分散システムのコンテキストにあります。 SSL接続中に認証に使用されるのはどれですか?両方か、それらの1つだけか、それとも代替ですか?
「cacerts」はトラストストアです。 ANDトラストストアは、ピアの認証に使用されます。キーストアは、自分自身を認証するために使用されます。
cacertsは、JavaがルートCAの公開証明書を格納する場所です。 Javaは、cacertsを使用してサーバーを認証します。
キーストアは、Javaがクライアントの秘密鍵を格納する場所であり、サーバーがクライアント認証を要求したときにサーバーと共有できるようにします。
Java_HOMEパスを確認してください。システムはJava_HOME/jre/lib/security
にあるJava.policyファイルを探します。 Java_HOMEは常に../Java/JDK
である必要があります。
Java Runtime Environment(JRE)には、証明書を作成し、キーストアを操作するkeytool
というツールが付属しています。
すべてのJRE
には独自のkeystore
があり、信頼できるすべての認証局が含まれています。これはtrust store
とも呼ばれます。このtrust store
は、Java_JRE_HOME/lib/security/
の下にcacerts
というファイルとして保存されます。私のMacでは、これは/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/security
にあります
このkeystore
のデフォルトのパスワードはchangeit
です。次のコマンドを使用すると、JDKのキーストアを確認できます。
keytool -list -keystore cacerts -storepass changeit
続きを読む こちら
Cacertsは、証明書を発行できる信頼できる署名機関の詳細です。これは、ほとんどのブラウザが持っているもので、どの証明書が本物であると判断されたためです。 Keystoneには、クライアントを認証するためのサービス関連の証明書があります。