需要帮助将P12证书转换为JKS

需要帮助将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”。