キー ストアとトラスト ストアは、特に Secure Sockets Layer (SSL) またはトランスポートを使用する場合、安全な通信に不可欠なコンポーネントです。レイヤ セキュリティ (TLS)。基本的な概念は明確に見えるかもしれませんが、特に keytool ユーティリティを使用する場合、キー ストアとトラスト ストアを区別するのは難しい場合があります。
keytool を使用すると、秘密鍵と公開鍵の両方を含むキー ストアを作成できます。コマンド keytool -import -alias bob -file bob.crt -keystore keystore.ks。このファイルは、アプリケーション構成に基づいてキー ストアまたはトラスト ストアとして使用できます。
キー ストアとトラスト ストアの主な違いは、その目的にあります。キー ストアには、SSL/TLS 接続中にクライアントまたはサーバーを識別および認証するために使用される秘密キーと証明書が保持されます。一方、トラスト ストアには、リモート パーティからの証明書の検証中に使用される信頼できる認証局 (CA) の証明書が含まれています。
keytool を使用して証明書をキー ストアにインポートするとき、システムは、キー ストアの発行者が証明書は信頼される必要があります。 「はい」と答えると、発行者の証明書がトラスト ストアに追加されることを示します。ただし、発行者がトラスト ストアにまだ存在していない場合、インポートされた証明書は公開キーとともにキー ストアに追加されるだけです。
アプリケーションでキー ストアとトラスト ストアを明確に区別するには、次のようにします。次のシステム プロパティを使用してそれらを個別に指定します。
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x -Djavax.net.ssl.trustStore=trusted_certificates.ks -Djavax.net.ssl.trustStorePassword=x
ここで、keystore.ks は秘密鍵を含むキー ストアを表し、trusted_certificates.ks は信頼できる CA を含むトラスト ストアとして機能します。
キー ストアとトラスト ストアの区別を理解することは、安全な SSL/TLS 通信にとって重要です。これらのストアを適切に管理することで、リモート パーティによって提示された証明書を信頼し、自分自身の ID とデータが確実に保護されるようにすることができます。
以上がキー ストアとトラスト ストア: 違いは何ですか? SSL/TLS ではどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。