Cacerts と Java のキーストア
このチュートリアルでは、cacerts
と KeyStore
を比較し、違いを強調します。
Java のcacerts
とKeyStore
cacerts
はピアの認証に使用される TrustStore
であり、KeyStore
は自分自身の認証に使用されます。
Keystore
と TrustStore
はどちらも、主に SSL/TLS
を介して通信する必要があるアプリケーションに使用されます。 これらのファイルはパスワードで保護されています。
Keystore
のデフォルト形式は、Java 9
の PKS12
です。 ただし、別のデフォルト形式であるJKS
は、Java 8
まで使用されます。 それでは、以下で KeyStore
と TrustStore
を個別に説明しましょう。
Java のキーストア
KeyStore
は、主に暗号化の目的で使用される秘密エントリ、公開鍵、および証明書のストレージです。 KeyStore
は、プログラムがサーバーとして機能し、HTTPS
を使用する場合にプログラムによって使用されます。
SSL
によるハンドシェーク中に、サーバー プログラムは KeyStore
から秘密鍵を探します。 KeyStore
はクライアント プログラムでも使用されます。
クライアント プログラムがサーバーに接続しようとするとき、それ自体を認証
する必要があります。 認証中、クライアント プログラムは KeyStore
から公開鍵と証明書も探します。
まとめると、KeyStore
は必要なすべてのセキュリティ ファイルを保持する場所であると言えます。
Java のトラストストア
TrustStore
は KeyStore
の反対側にあります。 KeyStore
は私たちを識別するためのファイルを保持しますが、TrustStore
は他者を識別するためのファイルを保持します。
Java には、cacerts
と呼ばれるバンドルされた TrustStore
が含まれており、ディレクトリ $JAVA_HOME/jre/lib/security
に配置されています。
Keystore
と TrustStore
(cacerts
) のデモンストレーション
以下は、Keystore
と TrustStore
に関するコマンドの例です。 コマンドは次のようになります。
keytool -list -keystore cacerts
上記のコマンドを実行すると、次の出力が得られます。
上記のコマンドは主に Java に焦点を当てていることに注意してください。
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn