Cacerts と Java のキーストア

MD Aminul Islam 2024年2月15日
Cacerts と Java のキーストア

このチュートリアルでは、cacertsKeyStore を比較し、違いを強調します。

Java のcacertsKeyStore

cacerts はピアの認証に使用される TrustStore であり、KeyStore は自分自身の認証に使用されます。

KeystoreTrustStore はどちらも、主に SSL/TLS を介して通信する必要があるアプリケーションに使用されます。 これらのファイルはパスワードで保護されています。

Keystore のデフォルト形式は、Java 9PKS12 です。 ただし、別のデフォルト形式であるJKSは、Java 8まで使用されます。 それでは、以下で KeyStoreTrustStore を個別に説明しましょう。

Java のキーストア

KeyStore は、主に暗号化の目的で使用される秘密エントリ、公開鍵、および証明書のストレージです。 KeyStore は、プログラムがサーバーとして機能し、HTTPS を使用する場合にプログラムによって使用されます。

SSL によるハンドシェーク中に、サーバー プログラムは KeyStore から秘密鍵を探します。 KeyStore はクライアント プログラムでも使用されます。

クライアント プログラムがサーバーに接続しようとするとき、それ自体を認証する必要があります。 認証中、クライアント プログラムは KeyStore から公開鍵と証明書も探します。

まとめると、KeyStore は必要なすべてのセキュリティ ファイルを保持する場所であると言えます。

Java のトラストストア

TrustStoreKeyStore の反対側にあります。 KeyStore は私たちを識別するためのファイルを保持しますが、TrustStore は他者を識別するためのファイルを保持します。

Java には、cacerts と呼ばれるバンドルされた TrustStore が含まれており、ディレクトリ $JAVA_HOME/jre/lib/security に配置されています。

KeystoreTrustStore (cacerts) のデモンストレーション

以下は、KeystoreTrustStore に関するコマンドの例です。 コマンドは次のようになります。

keytool -list -keystore cacerts

上記のコマンドを実行すると、次の出力が得られます。

cacerts vs Java のキーストア - 出力

上記のコマンドは主に Java に焦点を当てていることに注意してください。

著者: MD Aminul Islam
MD Aminul Islam avatar MD Aminul Islam avatar

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

関連記事 - Java Keystore