2017-11-20 14 views
0

クライアントとサーバーの間にSSL接続を作成する必要があります。鍵ペアを作成し、秘密鍵で公開鍵に署名しました。サーバーはこれを信頼しないので、CAによって署名されている必要があります。私は、サーバが自身の証明書に署名するのに使用されたのと同じCAによって署名された証明書を信頼すると推測します。 keytoolを使用して署名付き証明書を作成する方法を教えてください。この情報がOracleのWebサイト上の情報と重複している場合は、申し訳ありませんが、何らかの理由でページがインターネットブラウザを壊してしまいます。keytoolでCSRに署名する

知識は、これまでの回答here

答えて

1

に基づいており、私は、サーバーが独自の証明書に署名するために使用されたのと同じCAによって署名された証明書を信頼することを推測します。

ここでは、システムはさまざまな主要な認証局(CA)をデフォルトで信頼しています(例:GeoTrust、Entrust、OpenTrust、Verisignなど)。これらの既知のCAによってCSRに署名されると、サーバはそのサーバの証明書に署名したCAだけでなく、デフォルトで信頼します。

クライアントとサーバーの間のSSL接続をテストするには、自己署名証明書を使用する必要があります。

私は鍵ペアを作成し、自分の秘密鍵

あなたはクライアントとしてこれを実行すべきではないと私の公開鍵に署名しました。サーバーはこれを行うはずです。サーバーが自己署名証明書を使用している場合は、クライアントがSSL接続を信頼できるように、クライアントにその証明書を提供する必要があります。

サーバーとして、keytoolを使用して自己署名証明書を作成できます。 keytoolを使用して鍵ペアを生成すると、commonName,organizationNameなどの属性がいくつか表示されます。これらの属性を使用すると、keytoolは自己署名証明書を作成し、それを秘密鍵に関連付けます。 keytool -exportcertコマンドを使用してこの証明書をエクスポートするだけです。この部分を完了したら、この証明書を使用してサーバーを保護します。

サーバーがセキュリティ保護されたら、サーバーは自己署名されているため、クライアントのシステムは明示的に信頼するまでクライアントを信頼しないため、この証明書をクライアントまたはクライアントに渡す必要があります。サーバーがCAによって署名された証明書を使用してセキュリティ保護されている場合は、既知のCAの場合はクライアントシステムによって既に信頼されているため、クライアントに証明書を提供する必要はありません。

関連する問題