如何从Java Keystore创建PFX文件?

时间:2009-02-09 10:03:00

标签: java .net certificate pfx jks

我有一个持有单个证书的Java密钥库(.jks文件)。如何从此密钥库创建.pfx文件?

5 个答案:

答案 0 :(得分:41)

从Java 6开始,keytool有一个-importkeystore选项,它应该能够将JKS存储转换为PKCS#12存储(.p12 / .pfx):

keytool -importkeystore -srckeystore thekeystore.jks \
            -srcstoretype JKS \
            -destkeystore thekeystore.pfx \
            -deststoretype PKCS12

答案 1 :(得分:5)

答案 2 :(得分:3)

这个人()似乎编写了一个小的Java类和批处理文件,并在此处提供了良好的指示:http://www.crionics.com/products/opensource/faq/signFree.htm#DownloadTools

如果您想自己动手,.bat文件中的关键行似乎是使用

keytool -export -rfc -keystore %KEYSTORE% -storepass %PASSWORD% -alias %ALIAS% > %CERT_64%
java -classpath %JAVACLASSPATH% ExportPrvKey %KEYSTORE% %PASSWORD% %ALIAS% > %PKEY_8%
openssl enc -in %PKEY_8% -a >> %PKEY_64%
openssl pkcs12 -inkey %PKEY_64% -in %CERT_64% -out %CERT_P12% -export

其中ExportPrvKey执行从密钥库中提取私钥的步骤。

答案 3 :(得分:0)

keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_FILE.p12] -srcstoretype JKS -deststoretype PKCS12

然后它会要求您提供密码和 BAM - 很好,昨晚刚试过效果很好。

您可能需要先将 dir 更改为 java jdk 或 jre bin 文件夹,然后包含当前密钥库的完整路径和 dest .p12 文件。

答案 4 :(得分:-1)

您可以使用以下命令导出包含私钥的PFX文件:

keytool -importkeystore -deststorepass secret -destkeypass secret -destkeystore KEYSTOREFILE.jks -srckeystore PFXFILE.pfx -srcstoretype PKCS12 -srcstorepass secret