将 .jks 转换为 p12
Posted
技术标签:
【中文标题】将 .jks 转换为 p12【英文标题】:Converting .jks to p12 【发布时间】:2011-02-20 06:27:11 【问题描述】:如何将.jks
文件转换为p12
。
jks
是一个 java 密钥存储文件,我怎样才能将其转换为 p12
格式?
【问题讨论】:
您应该接受您之前问题的一些答案。 @Matrix 你真的觉得下面的答案都不可接受吗?对于您的代表和徽章,您应该接受或评论为什么这些都不可接受。 【参考方案1】:将 JKS 文件转换为 PKCS12 格式(Java 1.6.x 及更高版本)
keytool \
-importkeystore \
-srckeystore KEYSTORE.jks \
-destkeystore KEYSTORE.p12 \
-srcstoretype JKS \
-deststoretype PKCS12 \
-srcstorepass mysecret \
-deststorepass mysecret \
-srcalias myalias \
-destalias myalias \
-srckeypass mykeypass \
-destkeypass mykeypass \
-noprompt
来自A few frequently used SSL commands
【讨论】:
这是一个有用的链接。谢谢。 这种转换是否只需要Java 1.6.x 及以上版本进行?我问是因为我在 Java 1.7.x 上遇到了一个问题,即 WSKeystore 类在我将其转换为 cacerts.p12 之前无法读取 cacerts(默认密钥库文件)。 请注意,直接在命令中提供密码通常不是安全的做法(如 keytool 手册页中所述),因为密码可以从您的命令历史记录中读取或使用ps
观察。如果您省略密码,该工具会提示您输入密码。
你拯救了我的一天Daniel Silveira。感谢您的帮助。
“警告:PKCS12 KeyStores 不支持不同的存储和密钥密码。忽略用户指定的 -destkeypass 值。”,bugs.openjdk.java.net/browse/JDK-8008292 - 所以如果你想要,你需要使用别的东西跨度>
【参考方案2】:
JKS → P12:
keytool -importkeystore -srckeystore keystore.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore keystore.p12
P12 → JKS:
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore keystore.jks
【讨论】:
【参考方案3】:这是一个相同的单行命令。
keytool -importkeystore -srckeystore <MY_KEYSTORE.jks> -destkeystore <MY_FILE.p12> -srcstoretype JKS -deststoretype PKCS12 -deststorepass <PASSWORD_PKCS12> -srcalias <ALIAS_SRC> -destalias <ALIAS_DEST>
解释参数:
MY_FILE.p12: path to the PKCS#12 file (.p12 or .pfx extension) that is going to be created.
MY_KEYSTORE.jks: path to the keystore that you want to convert.
PASSWORD_PKCS12: password that will be requested at the PKCS#12 file opening.
ALIAS_SRC: name matching your certificate entry in the JKS keystore, "tomcat" for example.
ALIAS_DEST: name that will match your certificate entry in the PKCS#12 file, "tomcat" for example.
【讨论】:
【参考方案4】:这是给未来的人的,我发现上面的答案已经过时了,在 mac 上我使用这个命令将 JKS
转换为 PKCS12
keytool -importkeystore -srckeystore srckeystore.jks -destkeystore destkeystore.jks -deststoretype pkcs12
【讨论】:
【参考方案5】:你可以使用,https://keystore-explorer.org/ 打开您的 jks 并另存为 p12 或打开 p12 并另存为 jks。
【讨论】:
可能需要右键单击密钥并选择导出密钥对而不是另存为。以上是关于将 .jks 转换为 p12的主要内容,如果未能解决你的问题,请参考以下文章
将 P12 转换为 JKS 证书 Adode AIR to Native Android 问题
如何在 OpenSSL 中将 jks 文件转换为 p12 文件?