に基づいており、私は、サーバーが独自の証明書に署名するために使用されたのと同じCAによって署名された証明書を信頼することを推測します。
ここでは、システムはさまざまな主要な認証局(CA)をデフォルトで信頼しています(例:GeoTrust、Entrust、OpenTrust、Verisignなど)。これらの既知のCAによってCSRに署名されると、サーバはそのサーバの証明書に署名したCAだけでなく、デフォルトで信頼します。
クライアントとサーバーの間のSSL接続をテストするには、自己署名証明書を使用する必要があります。
私は鍵ペアを作成し、自分の秘密鍵
あなたはクライアントとしてこれを実行すべきではないと私の公開鍵に署名しました。サーバーはこれを行うはずです。サーバーが自己署名証明書を使用している場合は、クライアントがSSL接続を信頼できるように、クライアントにその証明書を提供する必要があります。
サーバーとして、keytool
を使用して自己署名証明書を作成できます。 keytoolを使用して鍵ペアを生成すると、commonName
,organizationName
などの属性がいくつか表示されます。これらの属性を使用すると、keytoolは自己署名証明書を作成し、それを秘密鍵に関連付けます。 keytool -exportcert
コマンドを使用してこの証明書をエクスポートするだけです。この部分を完了したら、この証明書を使用してサーバーを保護します。
サーバーがセキュリティ保護されたら、サーバーは自己署名されているため、クライアントのシステムは明示的に信頼するまでクライアントを信頼しないため、この証明書をクライアントまたはクライアントに渡す必要があります。サーバーがCAによって署名された証明書を使用してセキュリティ保護されている場合は、既知のCAの場合はクライアントシステムによって既に信頼されているため、クライアントに証明書を提供する必要はありません。