使用OpenSSL创建.pfx文件

使用OpenSSL创建.pfx文件,openssl,pfx,keytool,Openssl,Pfx,Keytool,我收到了一些使用OpenSSL创建.pfx文件的命令。在很大程度上,我的合伙人是从以下方面收集信息的: 我有以下文件: 2010certificate.cer 2010cert_和_key.pem 私钥验证10到11.key 我已尝试使用这两种方法生成: openssl pkcs12 -export -out s2010-1.pfx -inkey private_verisign10to11.key -in 2010cert_and_key.pem -certfile 2010certifica

我收到了一些使用OpenSSL创建.pfx文件的命令。在很大程度上,我的合伙人是从以下方面收集信息的:

我有以下文件:

  • 2010certificate.cer
  • 2010cert_和_key.pem
  • 私钥验证10到11.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说:

    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
    

    keytool-import-file s2010-1.pfx x-keystore cacerts-alias fqdn-storepass尝试使用打开3个文件中的每个文件,因为它们可能是扩展名所述的其他文件,特别是.pem文件。然后使用TinyCA导出密钥;有一个消息窗口显示openssl命令和所述命令的输出。

    问题在于
    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
    
    keytool-importkeystore-srckeystore my.pfx-srcstoretype PKCS12-srcstorepass-destkeystore cacerts-deststoretype JKS-deststorepass changeit
    
    Java可以将PKCS12视为密钥库,但必须指定它:
    keytool-list-keystore whatever.pfx-storetype PKCS12