2017-12-26 29 views
0

自己署名証明書チェーンを使用して.keystoreファイルを作成する必要があります。自己署名証明書チェーンをキーストアに追加

2つの方法を試しました。

方法1:

https://blog.didierstevens.com/2008/12/30/howto-make-your-own-cert-with-openssl/

私は私の自己署名証明書チェーンを作成するには、上記のポストを使用していました。 .crtを.p7bに変換してキーストアファイルを作成しようとしましたが、OpenSSLに「Input not X.509 certificate」があります。

私はWindowsマシンを使用しています。そこで、.crtファイルを開き、 "Copy To File"をクリックして.p7bファイルとして保存しました。

方法2:

https://www.pixelstech.net/article/1450354633-Using-keytool-to-create-certificate-chain

私は、証明書チェーンと私のキーストアを作成するために、上記のポストを使用しますが、私はそれを追加したとき、私は「このサイトは到達できない」エラーを得ました私のブラウザでは、ログにエラーはありません。次のように

私のコネクターは、次のとおりです。

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="false" keystoreFile="test.keystore" keystorePass="test" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" name="SSL" port="9372" scheme="https" secure="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" sslProtocol="TLS"/> 

キーストアファイルが一つだけの証明書を持っている場合は、上記のコネクタは動作します。したがって、キーストアを生成するプロセスに問題があります。

証明書チェーンをキーストアに正しく追加するにはどうすればよいですか?

EDIT:

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" connectionTimeout="20000" debug="0" disableUploadTimeout="true" enableLookups="false" keystoreFile="test.p12" keystorePass="test" keystoreType="PKCS12" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" name="SSL" port="9372" scheme="https" secure="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" sslProtocol="TLS"/> 

私の.keystoreから.P12にストアのフォーマットを変更しました。 "Didier Stevens Code Signing(https://DidierStevens.com)"のステータスが "This certificate is OK"と表示されますが、 "Didier Stevens(https://DidierStevens.com)"のステータスには "このCAルート証明書は信頼されたルート証明機関ストア。 "それは別の方法であるべきですが、問題が何であるか分かりません。

enter image description here

+0

*** 'CN = www.example.com' ***が間違っている可能性があります。 *** 'https://' ***は間違っています。ホスト名は常に* SAN *に入ります。 * CN *内に存在する場合は、* SAN *にも存在する必要があります(この場合は2回リストする必要があります)。詳細なルールと理由については、[証明機関との証明書署名要求の署名方法](http://stackoverflow.com/a/21340898/608639)および[opensslによる自己署名証明書の作成方法]( http://stackoverflow.com/q/10175812/608639)また、自己署名証明書を適切なトラストストアに配置する必要があります。 – jww

答えて

0

あなたは、「キーストアファイルが一つだけの証明書を持っている場合は、上記のコネクタは動作します。だから、問題はキーストアを生成するプロセスである。」ことを引用しています 問題がキーストア内の特定の証明書/キーのセットを選択している場合は、コネクタの一部として特定する必要があります。

これが指定されていない場合、最初のエントリが使用されます。

はこちらをご覧ください:https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes

属性keyAlias

ストア内のサーバーの鍵と証明書のために使用する別名。 が指定されていない場合、キーストアから読み取られた最初のキーが使用されます。キーストアからキーが読み込まれる の順序は、実装 に依存します。鍵がキーストア から追加されたのと同じ順序で読み取られることはありません。複数のキーが存在する場合は、キーストアに があることを確認してください。正しいキーが使用されるように、keyAliasは に設定することを強くお勧めします。

+0

私の編集を確認してください。 –

+0

あなたのCA証明書はシステムによって信頼されていないため、OpenSSLを使用して作成したCAの場合、CA公開証明書を開き、それを開いてウィンドウにインポートします。証明書を開くことができます。証明書パスでルート/中間CA証明書を選択します。証明書の表示をクリックします。新しい証明書ウィンドウで、[詳細]タブに移動し、[ファイルにコピー]をクリックします。 .cerファイルにエクスポートします。それを開き、[証明書のインストール]をクリックします。ウィザードを実行し、信頼できるルート証明書に証明書をインストールします。これは、システムがCAの証明書を信頼するのに役立ちます。 –

関連する問題