我正在尝试更改存储在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:无效的密钥库格式
任何人都可以帮忙吗?谢谢。
答案 0 :(得分:1)
根据互联网标准,在使用PCKS12
密钥库进行创建/交易时,应遵循以下步骤:
PKCS12
应该仅包含1个密钥对条目,即与证书链关联的私钥。Java也遵循这些规则。这就是为什么在将商店类型提供为PKCS12时尝试更改密钥密码时出错的原因。
因此,理想情况下,只应更改PKCS12密钥库的密钥库密码。您不应该更改密钥密码。
但是,如果pkcs12密钥库未遵循上述规则,并且您正在尝试更正它,并且无法通过使用Java keytool
命令来做到这一点,那么我建议尝试使用{{3}来对其进行修复。 }(与任何密钥库进行交互的GUI工具)。
它可以选择更改条目的密钥密码。