需要帮助将P12证书转换为JKS
问题描述:
我需要一些帮助将我的.P12证书文件转换为JKS密钥库。我使用Java的keytool实用程序来跟踪标准命令。但是,当我尝试使用生成的JKS文件通过SOAPUI访问WS端点时,出现403.7错误 - Forbidden:SSL证书是必需的。在同一端点上使用带SOAPUI的P12文件会产生成功的响应。 下面是用于导入P12密钥存储到JKS密钥库中的标准命令 -需要帮助将P12证书转换为JKS
keytool -importkeystore -srckeystore src.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore target.jks
我用openssl到P12转换还试图 - > PEM - > DER - > JKS:
openssl pkcs12 -in src.p12 -out src.pem -clcerts
(编辑src.pem成两个复合材料部件称为src.key和src.cer)
openssl pkcs8 -topk8 -nocrypt -in src.key -out key.der -inform PEM -outform DER
openssl x509 -in src.cer -inform PEM -out cert.der -outform DER
(我跑了一个实用程序来两个键结合成keystore.ImportKey)
keytool -importkeystore -srckeystore keystore.ImportKey -destkeystore target.JKS
和类似没有骰子。
有什么我失踪了吗?
答
我很惊讶为什么没有人回答这个问题这么久。无论如何,将p12转换为jks的最简单方法是使用Keytool。以下是您可能需要使用的命令:
keytool -importkeystore -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass
我相信您遇到的问题可能是因为您没有提供Keypass。请注意,由于有时服务器无法区分keypass和storepass,因此将keypass和storepass保持一致是一种很好的做法。
答
但他被问及如何的.p12转换为JKS,所以答案是:
keytool -importkeystore -srckeystore mystore.p12 -destkeystore myotherstore.jks -srcstoretype PKCS12 -deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey -destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass
就不得不用这条线,我的作品。
答
如果您有keytool应用程序,你的PKCS#12文件,启动单行命令:
keytool -importkeystore -srckeystore [MY_FILE.p12] -srcstoretype pkcs12
-srcalias [ALIAS_SRC] -destkeystore [MY_KEYSTORE.jks]
-deststoretype jks -deststorepass [PASSWORD_JKS] -destalias [ALIAS_DEST]
你需要修改这些参数:
-
MY_FILE.p12
:指示指向要转换的PKCS#12文件(.p12或.pfx扩展名)的路径。 -
MY_KEYSTORE.jks
:指向要在其中存储证书的密钥库的路径。如果它不存在,它将自动创建。 -
PASSWORD_JKS
:将在密钥库开放时请求的密码。 -
ALIAS_SRC
:名称与PKCS#12文件中的证书条目匹配,例如“tomcat”。
如果您要从Windows服务器导出生成.PFX
文件的证书,则必须检索由Windows创建的“别名”名称。要做到这一点,你可以执行以下命令:
keytool -v -list -storetype pkcs12 -keystore FILE_PFX
在那里,“别名”字段表示你需要在命令行中使用证书的存储名称。
-
ALIAS_DEST
:将在JKS密钥库中匹配您的证书条目的名称,例如“tomcat”。