如何从PKCS12密钥库更改密钥密码

时间:2019-06-05 16:58:24

标签: certificate keytool pkcs#12

我正在尝试更改存储在p12密钥库中的证书的密码。我设法通过使用ikeycmd更改了密钥库密码,但是对于密钥密码来说似乎没有任何作用。这是我尝试的命令:

keytool -keypasswd -storetype PKCS12 -keystore $ KEYSTORE_FILE -alias $ KEY_ALIAS -keypass $ KEY_PASSWORD -new $ new_pass -storepass $ store_pass

,我收到以下输出: keytool错误:java.lang.UnsupportedOperationException:如果-storetype为PKCS12,则不支持-keypasswd命令

我尝试运行不带-storetype PKCS12选项的命令,并且得到: keytool错误(可能未翻译):java.io.IOException:无效的密钥库格式

任何人都可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:1)

根据互联网标准,在使用PCKS12密钥库进行创建/交易时,应遵循以下步骤:

  1. PKCS12应该仅包含1个密钥对条目,即与证书链关联的私钥。
  2. 唯一条目的密钥密码与密钥库密码相同。

Java也遵循这些规则。这就是为什么在将商店类型提供为PKCS12时尝试更改密钥密码时出错的原因。

因此,理想情况下,只应更改PKCS12密钥库的密钥库密码。您不应该更改密钥密码。

但是,如果pkcs12密钥库未遵循上述规则,并且您正在尝试更正它,并且无法通过使用Java keytool命令来做到这一点,那么我建议尝试使用{{3}来对其进行修复。 }(与任何密钥库进行交互的GUI工具)。

它可以选择更改条目的密钥密码。

keystore-explorer