两年前,我获得了 VeriSign/Symantec SSL 证书。启动此请求时,我们在与证书的通用名称无关的随机服务器上创建了一个 CSR。要创建 Java 密钥库,我执行了以下两个步骤。
openssl pkcs12 -export -in common_name.cer -inkey common_name.key -out renewal.p12 -name common_name_alias -CAfile NewVerisignIM.cer -caname root
keytool -importkeystore -deststorepass XXX! -destkeypass XXX!
-destkeystore renewal.keystore -srckeystore renewal.p12 -srcstoretype PKCS12 -srcstorepass XXX! -alias common_name_alias
现在我们的证书即将到期。当使用赛门铁克网站上的原始条目,并创建一个新的 CSR 时,我们得到了签名证书文件(与上面的 common_name.cer 相同的文件名)、私钥(与上面的 common_name.key 相同的文件名)。签署新的 CSR 后,我们没有取回“NewVerisignIM.cer”文件,该文件似乎是根 CA 和中间 CA 组合在一个文件中(我相信也就是 CA 链)。所以我不知道如何在没有该文件的情况下重新创建 Java 密钥库。
我尝试在签名后将旧的“NewVerisignIM.cer”与新文件一起使用,但这不起作用。到目前为止,这就是我所尝试的。我有一个 Java 异常
PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
本网站包含使用原始 CSR 和使用 JKS 的说明。
但是这个问题/答案建议使用新的 CSR。
使用 Java Keytool 更新证书 - 重用旧 CSR?
如果我们使用新的 CSR,我可以使用哪些命令?