【问题标题】:Converting .jks to p12将 .jks 转换为 p12
【发布时间】:2011-02-20 06:27:11
【问题描述】:

如何将.jks 文件转换为p12jks 是一个 java 密钥存储文件,我怎样才能将其转换为 p12 格式?

【问题讨论】:

  • 您应该接受您之前问题的一些答案。
  • @Matrix 你真的觉得下面的答案都不可接受吗?对于您的代表和徽章,您应该接受或评论为什么这些都不可接受。

标签: pkcs#12 jks


【解决方案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。

        【讨论】:

        • 可能需要右键单击密钥并选择导出密钥对而不是另存为。
        猜你喜欢
        • 2017-03-01
        • 2020-07-12
        • 2013-04-21
        • 2021-10-24
        • 2016-09-02
        • 1970-01-01
        • 1970-01-01
        • 2016-12-29
        • 1970-01-01
        相关资源
        最近更新 更多