更新别名下的其中一个证书



我正在尝试通过保留与以前相同的别名来更新服务器端密钥库中的证书,在此别名下实际上有 3 个不同的证书,我只想更新其中一个。

他们就像:

Alias name: alias
Creation date: 
Certificate chain length: 3
Certificate[1]:
Owner:......
...
Certificate[2]:
...

我首先尝试了这个:

keytool -import -trustcacerts -alias <same_as_before> -file new.cer -keystore <same_as_before>.jks

但得到例外:

keytool error: java.lang.Exception: Failed to establish chain from reply

然后我使用以下方法删除了旧别名:

keytool -delete -alias <same_as_before> -keystore <same_as_before> 

然后重新导入。这次它有效,但两个证书也被删除了。 我也尝试直接导入(不删除(,但使用新的别名并且它确实有效,但我不确定服务器在旧证书到期日期的行为,因为这就是我需要更新它的原因。有什么建议吗?

问题解决了。问题是我们不能只更新链中的一个证书。就我而言,三个链式证书是我将使用的证书、根 CA 和与此证书关联的中间 CA。

我所做的是从续订的证书中导出根 CA 和中间 CA 证书,并使用 keytool 导入它们,顺序为 root ->中间 ->续订。然后当我检查.jks文件的内容时,相应的证书已经更新。

最新更新