4

当我尝试将没有密码生成的 pfx 文件转换为 jks 时,我收到来自 keytool 的 WARNING WARNING 等消息,然后出现错误

当我对受密码保护的 pfx 执行相同操作时,一切都很好。

谁能建议我能做什么!?也许是从其他格式转换或使用其他工具?

附言。我也转换为 pem,并将 pem 转换为 jks,但它失败了,因为它不是 x509 证书。

编辑

keytool.exe -importkeystore -srckeystore "C:\Users\rodislav.moldovan\Projects
\ceva.pfx" -srcstoretype pkcs12 -destkeystore "C:\Users\rodislav.mol
dovan\Projects\ceva.jks" -deststoretype JKS
Enter destination keystore password: ******
Re-enter new password: ******
Enter source keystore password: // pressed enter, because there is no pass

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in the srckeystore*
* has NOT been verified!  In order to verify its integrity, *
* you must provide the srckeystore password.                *
*****************  WARNING WARNING WARNING  *****************

keytool error: java.security.UnrecoverableKeyException: Get Key failed: null
4

3 回答 3

7

您可以先使用 OpenSSL 创建一个 p12 密钥库,然后使用 Keytool 将其转换为 JKS 格式。

CER 和 PVK 文件的 OpenSSL > P12

openssl pkcs12 -export -name servercert -in selfsignedcert.crt -inkey serverprivatekey.key -out myp12keystore.p12

p12 的 Keytool > JKS

keytool -importkeystore -destkeystore mykeystore.jks -srckeystore myp12keystore.p12 -srcstoretype pkcs12 -alias servercert

于 2015-02-13T17:55:04.710 回答
0

Try to convert it to a p12 with a password before.

openssl pkcs12 -in in.pfx -out out.p12

于 2013-12-09T15:23:20.677 回答
0

如果您只有一个不受密码保护的完整 PFX 文件;例如,您从 Azure Key Vault 下载了证书,如下所示:

az keyvault secret download -f mycert.pfx --encoding base64 --vault-name <vault name> --name <certificate name>

然后你可以跳过几个环节来添加密码保护(从这里得到这个:http ://www.1st-setup.nl/wordpress/howto-change-password-on-pfx-certificate-using-openssl/ ):

openssl pkcs12 -in mycert.pfx -out temppem.pem -nodes
openssl pkcs12 -export -out protectedcert.pfx -in temppem.pem
rm certs/mycert.pfx
rm certs/temppem.pem

显然,您需要在第二个 openssl 命令中指定密码来 pw-protect 新 PFX。

于 2021-10-28T17:50:58.397 回答