私钥和密钥库中签名证书之间的链接

我正在做jetty SSL configuration

我使用keytool创建了CSR,它已经为密钥库添加了一个私钥,

收到基于CSR的证书,将证书转换为DER格式,并将证书作为trustcacerts导入密钥库

签名证书在证书路径中具有根/中间证书

在将其转换为DER格式后,我还在受信任的根证书下的IE中安装了根证书和中间证书。

使用https时,浏览器显示证书错误并将证书视为自签名证书。

这是否意味着由于证书在证书路径中没有Root / intermediate证书,因此不考虑已安装的签名证书?

虽然从CA收到的签名证书具有指向证书路径中的根/中间证书的链接。

如果在此过程中出现任何问题,请提出建议。 为此添加keytool命令。

创建密钥库

keytool -keystore serverdns.keystore -alias server -genkey -keyalg RSA -keysize 2048

创建CSR

keytool -certreq -alias server -keystore serverdns.keystore -file server.csr

安装签名证书

keytool -import -trustcacerts -alias cert -keystore serverdns.keystore -file signedcert.der.cer

我在安装签名证书时尝试使用相同的别名’server’,但它失败并出现错误

keytool错误:java.lang.Exception:无法从回复建立链

您需要使用与私钥和CSR相同的别名导入签名证书。 否则它们之间没有连接,新证书只是另一个证书。 您不应该在此步骤中使用-trustcacerts ,如果系统询问您是否信任该证书,则说明别名错误。

keytool错误:java.lang.Exception:无法从回复建立链

如果您的CA位于信任库中,请查看选项-trustcacerts。 此外,您必须先将CA的中间证书添加到密钥库中,然后再将其添加到signedcert.der.cer中