私钥和密钥库中签名证书之间的链接
我正在做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中