我有一个ca证书,今年到期。我的key.jks文件列表如下。
inter, Dec 17, 2019, trustedCertEntry,
....
root, Dec 17, 2019, trustedCertEntry,
....
app.domain.com, Dec 29, 2019, PrivateKeyEntry,
为了延长有效期,我提供了与去年相同的csr文件。现在我有了新的3个crt文件inter,root和域名。
现在我试图通过
keytool -delete -alias inter -keystore key.jks -storepass pword
keytool -delete -alias root -keystore key.jks -storepass pword
keytool -delete -alias app.domain.com -keystore key.jks -storepass pword
导入了新的证书文件
keytool -import -alias inter -file intermediate.crt -keystore key.jks -storepass pword
keytool -import -alias root -file TrustedRoot.crt -keystore key.jks -storepass pword
keytool -import -alias app.domain.com -file app_domain_com.crt -keystore key.jks -storepass pword
现在 keytool -list
不显示app\u domain\u com.crt的privatekeyentry和应用程序未启动。
inter, Dec 15, 2020, trustedCertEntry,
....
root, Dec 15, 2020, trustedCertEntry,
....
app.doamin.com, Dec 15, 2020, trustedCertEntry,
我有adfs-sso集成,希望避免因为这个证书更改而进行更改。
1条答案
按热度按时间vawmfj5a1#
您的第三个delete命令也删除了您的私钥。这就是为什么你的应用程序被破坏了,你需要你的私钥ssl才能工作。
当您说您想重用上次使用的相同csr时,这意味着您计划使用相同的私钥,但您删除了它。这就是为什么在删除和导入后将它们视为不同类型的原因。在你的第一个钥匙工具
list
您将app.domain.com作为privatekeyentry(包含私钥和证书),但在删除并导入证书后,您将app.domain.com作为trustedcertentry(仅证书)。如果您没有删除私钥,import命令会将新证书与其关联,因为找不到私钥,所以它只添加证书。在您的情况下,您应该执行以下步骤:
不运行第三个delete命令
已导入新证书,并使用keytool的
-importcert
命令。在尝试重用与上次相同的csr时,可以在这里、这里和这里找到一些需要考虑的问题。
p、 s:我希望你已经备份了你原来的密钥库。