Openssl SSL密钥工具错误:java.security.SignatureException:签名不匹配。导入中间证书时

Openssl SSL密钥工具错误:java.security.SignatureException:签名不匹配。导入中间证书时,openssl,ssl-certificate,keytool,Openssl,Ssl Certificate,Keytool,生成CSR和密钥库 keytool -genkey -alias posbo -keyalg RSA -keystore keystore.jks -keysize 1024 keytool -certreq -keyalg RSA -keysize 1024 -alias posbo -file certreq.csr -keystore keystore.jks -storepass changeit 已生成根证书、中间证书和服务器证书 openssl genrsa -des3 -out

生成CSR和密钥库

keytool -genkey -alias posbo -keyalg RSA -keystore keystore.jks -keysize 1024

keytool -certreq -keyalg RSA -keysize 1024 -alias posbo -file certreq.csr -keystore keystore.jks -storepass changeit
已生成根证书、中间证书和服务器证书

openssl genrsa -des3 -out root-ca.key 1024 

openssl req -new -x509 -days 365 -key root-ca.key -out root-ca.crt -config openssl.cfg


openssl genrsa -des3 -out ca-int.key 1024 

openssl req -new -days 365 -key ca-int.key -out ca-int.csr -config openssl.cfg

openssl x509 -req -days 365 -in ca-int.csr -CA root-ca.crt -CAkey root-ca.key -set_serial 01 -out ca-int.crt 



openssl x509 -req -days 365 -in certreq.csr -CA root-ca.crt -CAkey root-ca.key -set_serial 01 -out server.crt.
现在将root、intermediate和server crt导入keystore.jks

keytool -import -trustcacerts -alias rootca -file root-ca.crt -keystore keystore.jks
Success.


keytool -import -trustcacerts -alias intercom -file ca-int.crt -keystore keystore.jks.
keytool error: java.security.SignatureException: Signature does not match

以上错误的任何建议或原因。

您的命令对我有效

您使用的是什么版本的keytool和openssl?您是否在其他服务器/版本/操作系统上尝试过此操作?openssl.cfg文件中有什么内容

我注意到有一点看起来不正确,那就是在上一个openssl命令中,您使用根而不是中间(int-ca.key)对结束证书进行签名。请尝试用它签名,然后导入它。这不应该导致这个问题,但是如果您有一个中间CA,我猜您希望使用它来签署结束证书,而不是根证书。否则,中间层实际上没有任何价值