我有一个持有单个证书的Java密钥库(.jks文件)。如何从此密钥库创建.pfx文件?
答案 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