2010-05-19 60 views
6

我已经提供了一些使用OpenSSL创建.pfx文件的命令。在大多数情况下,我的合作伙伴,从收集的信息:Is it possible to convert an SSL certificate from a .key file to a .pfx?使用OpenSSL创建.pfx文件

我有以下文件:

  1. 2010certificate.cer
  2. 2010cert_and_key.pem
  3. private_verisign10to11.key

我试图用以下两种方法生成:

openssl pkcs12 -export -out s2010-1.pfx -inkey private_verisign10to11.key -in 2010cert_and_key.pem -certfile 2010certificate.cer 
and 
openssl pkcs12 -export -out s2010-1.pfx -inkey private_verisign10to11.key -in 2010certificate.cer -certfile 2010cert_and_key.pem 

在这种情况下不会引发错误,但是当我尝试查看或导入生成的文件s2010-1.pfx时,Protecle说它无法打开它。密钥工具说:

keytool -import -file s2010-1.pfx x -keystore cacerts -alias fqdn -storepass <.pfx's pass word> 
keytool error: java.lang.Exception: Input not an X.509 certificate 

我假设的问题是与.PFX一代,但我真的不知道如何测试,直到keytool命令。任何关于在这里做什么的建议都会很棒。

+0

Java可以治疗PKCS12 _as_一个密钥,但[8u60之前(以2015)(http://www.oracle.com/technetwork/java/javase/8u60-relnotes-2620227.html),你必须指定它:'keytool -list -keystore whatever.pfx -storetype pkcs12 ' – 2017-08-19 18:54:40

回答

1

尝试使用TinyCA打开您的3个文件中的每一个,因为它们可以是其他扩展名所说的内容,特别是.pem文件。然后使用TinyCA导出密钥;有一个消息窗口显示openssl命令和所述命令的输出。

0

问题是因为keytool -importcert-import在Java < 1.6)只支持导入x509证书。

要导入PKCS12(有时在.pfx文件传送)为Java .jks文件,包括cacerts

keytool -importkeystore -srckeystore my.pfx -srcstoretype PKCS12 -srcstorepass <mysecret> -destkeystore cacerts -deststoretype JKS -deststorepass changeit