【问题标题】:OpenSSL can read .p12 key, but keytool says the password is incorrectOpenSSL 可以读取 .p12 密钥,但是 keytool 说密码不正确
【发布时间】:2022-08-17 15:15:49
【问题描述】:

我正在尝试使用 java keytool 读取 .p12 密钥,因此我可以将其导入 java 密钥库。 运行时密码不正确:

keytool -importkeystore -srckeystore key.p12 -destkeystore mycert.keystore -srcstoretype pkcs12  

然而密码是正确的,就像我运行时一样:

openssl pkcs12 -in ../../key.p12 -nodes -passin pass:password

有用。如何访问密钥并将其转换为 Java 密钥库? 这很奇怪,因为它没有使用其他 .p12 键。

谢谢

    标签: openssl keystore android-keystore p12


    【解决方案1】:

    显然,可能存在“不兼容的密钥”,因此我使用以下说明将其转换为正确的密钥:

    将不兼容的 PKCS#12 格式文件中的原始私钥和公共证书提取为传统的加密 PEM 格式。 C:\Openssl\bin\openssl.exe pkcs12 -in <PKCS#12 文件名> -out

    在哪里:

    <PKCS#12 Filename> 是不兼容的 PKCS#12 文件的输入文件名。 是加密 PEM 格式的输出文件名,将包含私钥和公共证书。 例如:

    C:\Openssl\bin\openssl.exe pkcs12 -in my_pkcs12.pfx -out my_encrypted_pem.pem

    生成兼容的 PKCS#12 文件

    C:\Openssl\bin\openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in -out <PKCS#12 文件名> -name ""

    在哪里:

    上面生成的加密PEM格式文件。 <PKCS#12 Filename> 是 pkcs#12 格式文件的输出文件名。 是有时会在用户界面中显示的所需名称。 例如:

    C:\Openssl\bin\openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in my_encrypted_pem.pem -out my_new_pkcs12.pfx -name "my-name"

    来源:https://kb.globalscape.com/Knowledgebase/11040/Converting-an-Incompatible-PKCS12-Format-File-to-a-Compatible-PKCS12

    【讨论】:

      最近更新 更多