gpt4 book ai didi

java - 使用新的 CSR(不是原始 CSR)通过 Symantec 续订来续订 Java Keystore 的命令

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:32 26 4
gpt4 key购买 nike

两年前,我获得了 VeriSign/Symantec SSL 证书。发起此请求时,我们在与证书的通用名称无关的随机服务器上创建了一个 CSR。为了创建 Java keystore ,我执行了以下两个步骤。

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 Keystore。

我尝试在签名后将旧的“NewVerisignIM.cer”与新文件一起使用,但这没有用。到目前为止,这就是我尝试过的所有内容。我得到了

的 Java 异常

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

本网站包含使用原始 CSR 和使用 JKS 的说明。

https://knowledge.symantec.com/kb/index?page=content&id=SO11942&pmv=print&actp=PRINT&viewlocale=en_US

但是这个问题/答案建议使用新的 CSR。

Renew certificate with Java Keytool - reuse old CSR?

如果我们使用新的 CSR,我可以使用哪些命令?

最佳答案

我的命令是正确的。第一个命令(X509 到 PKCS12)需要私钥。第一个命令需要 签名证书。在创建原始证书时,第一个命令需要原始 CA 链文件。更新不包含此文件作为输出。 2015年,Verisign可能还没有被赛门铁克收购,所以文件被命名为“NewVerisignIM.cer”。上面的第二个命令将 PKCS12 格式转换为 JKS(Java keystore )格式。

我的问题是,作为客户端的服务器正在对此服务器进行身份验证,但没有更新公钥,因为在更新中分配了一个新的私钥。请注意,这个新私钥是赛门铁克推荐的,但不是必需的。因此,我必须在包含续订证书公用名称的服务器上转换这两个命令后,从新创建的 JKS 存储中导出证书,然后从客户端 Java Keystore(在一个不同的服务器),并导入新的公钥,这样它就可以与服务器通信(使用更新和新的私钥)。

在服务器上运行的命令(创建新的 keystore ):

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 ppp1 -alias common_name_alias

keytool -export -alias https-renewal -file https-renewal.pem -keystore renewal.keystore

命令在客户端运行( keystore 保持不变):

keytool –delete –alias https-renewal –keystore original.keystore –storepass ppp2

keytool -import -v -alias https-renewal -file https-renewal.pem -keystore original.keystore -storepass ppp2

(其中“https-renewal.pem”是从本答案中的第 3 个命令导出的文件)

关于java - 使用新的 CSR(不是原始 CSR)通过 Symantec 续订来续订 Java Keystore 的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44420459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com