4

Tomcat キーストアを使用して秘密鍵を生成しています。証明書要求が生成されて送信された後、サーバー証明書には署名 SHA256RSA アルゴリズムがあるように見え、最終的に「応答エラーからチェーンを確立できません」が表示されます。ルート証明書と中間証明書はすべて SHA1RSA です。キー ペアと証明書要求の生成中に、署名アルゴリズムとして SHA1RSA が指定されました。

SHA256RSA を使用してサーバー証明書を生成する方法について、誰か助けてもらえますか?

私が従った手順は次のとおりです(読みやすくするために複数の行に分割されています)。

keytool -genkey -dname "CN=xxxx, OU=Servers, O=xx, C=US" \
    -alias tomcat -keyalg RSA -sigalg SHA1withRSA -keysize 2048 \
    -keypass xxx -keystore tomcat2k.keystore

keytool -certreq -v -alias tomcat -keyalg RSA -sigalg SHA1withRSA \
    -keysize 2048 -keypass xxx -file certreq.csr -keystore tomcat2k.keystore

受け取った証明書: ルート、中間 (両方とも SHA1RSA)、およびサーバー (SHA256RSA) ルート。

中間体がインポートされます。サーバー証明書がチェーンを確立できません。

4

1 に答える 1

0

openssl にアクセスできる場合は、keytool の代わりにそれを使用することをお勧めします。証明書署名要求を生成する場合は、オプション -sha256 を使用して、探しているハッシュ アルゴリズムを設定します。

最初に証明書署名要求を生成します。

$ openssl genrsa -des3 -out server.key 4096
$ openssl req -new -key server.key -out server.csr -sha256

選択した CA によって署名された証明書署名要求を取得します。自己署名証明書が必要な場合は、次を使用できます。それ以外の場合は、この手順をスキップしてください。

$ openssl genrsa -des3 -out ca.key 4096
$ openssl req -new -x509 -days 365 -key ca.key -out ca.pem
$ openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca.key -set_serial 01 -out server.pem

最後に、署名された server.pem 証明書を tomcat が期待する p7b に変換し、p7b を tomcat キーストアにインポートします。

$ openssl crl2pkcs7 -nocrl -certfile server.pem -out tomcat2k.p7b -certfile ca.pem
$ keytool -import -trustcacerts -alias server -file tomcat2k.p7b -keystore tomcat2k.jks
于 2015-04-20T07:51:49.980 に答える