我在做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:无法建立链接 回复
答案 0 :(得分:1)
您需要使用与私钥和CSR相同的别名导入签名证书。否则它们之间没有连接,新证书只是另一个证书。您不应该使用-trustcacerts
执行此步骤,如果系统询问您是否信任该证书,则说明您的别名错误。
答案 1 :(得分:-1)
keytool error:java.lang.Exception:无法从回复
建立链
如果您的CA位于信任库中,请查看选项-trustcacerts。 此外,您必须先将CA的中间证书添加到密钥库中,然后才能使用signedcert.der.cer