我有一个Java Keystore:,myKeystore.jks
并给了一个别名:someAlias
,我试图p12
在更改密码时以一种格式提取相应的资源。
JKS密码12345678
与someAlias密钥相同。
我希望我的p12文件受新密码保护: 1122334455
keytool -importkeystore -srckeystore myKeystore.jks -destkeystore test.p12 -deststoretype PKCS12 -srcalias someAlias -srcstorepass 12345678 -deststorepass 1122334455
在这种情况下,test.p12
将导出,但是由于密码错误或文件已损坏,我无法读取它。
但是当我尝试这个(保持相同的密码)时:
keytool -importkeystore -srckeystore myKeystore.jks -destkeystore test.p12 -deststoretype PKCS12 -srcalias someAlias -srcstorepass 12345678 -deststorepass 12345678
我可以test.p12
使用给定的密码打开文件。
PS:我也尝试添加-srckeypass参数,但是没有运气。
PS 2:我正在使用密钥库资源管理器5.11打开我的商店
我想念什么?
您仅使用第一个命令更改了密钥存储区的密码。密钥的密码仍为12345678。
尽管PKCS#12可以为容器/内容使用不同的密码,但这是一个坏主意,因为大多数应用程序都假定密码是相同的(这就是KeyStore Explorer显示该错误消息的原因)。
要更改密钥的密码,您必须添加-destkeypass
:
keytool -importkeystore -srckeystore myKeystore.jks -destkeystore myKeystore.p12
-deststoretype PKCS12 -srcalias someAlias -srcstorepass 12345678 -deststorepass
1122334455 -destkeypass 1122334455
顺便说一句,由于Java 8 keytool显示了命令的错误消息:
keytool错误:java.lang.Exception:目标pkcs12密钥库具有不同的storepass和keypass。请使用指定的-destkeypass重试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句