从CER,PEM,P7B,PKCS8创建P12或PFK文件

时间:2014-08-15 07:36:32

标签: key certificate pem cer

我想创建一个.p12或.pfk文件。我有以下文件:

  • xx.cer
  • xx.p7b
  • xx.pem
  • xx.pkcs8

我尝试过很多openssl命令,但我只能创建一个零字节的.p12文件。

我执行的openssl命令示例:

openssl pkcs12 -export -inkey xx.pem -out xx.p12

2 个答案:

答案 0 :(得分:0)

我不知道xx.pem文件中的内容以及xx.pkcs8中的内容。私钥应该在这些文件中的一个(或两个?)中。我将假设私钥位于xx.pem文件中。然后制作p12文件的命令应为:

openssl pkcs12 -export -inkey ./xx.pkcs8 -in ./xx.pem -out ./xx.p12

Openssl将提示您为p12文件添加密码,但在键入时屏幕上不会有星号。不要担心只需输入密码。 此p12文件将包含私钥和相应的证书。它不包含可能位于xx.p7b文件中的链证书。

答案 1 :(得分:0)

我将pkcs8文件转换为pem和b64并更新了页眉和页脚。当我启动如下命令时,我收到了这个错误:

命令:

openssl pkcs12 -export -inkey ./xx.pem -in ./xx.cer -out ./xx.p12
openssl pkcs12 -export -inkey ./xx.b64 -in ./xx.cer -out ./xx.p12

结果:

unable to load private key
58163:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/asn1/tasn_dec.c:1315:
58163:error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/asn1/tasn_dec.c:827:
58163:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/asn1/tasn_dec.c:747:Field=version, Type=RSA
58163:error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/asn1/d2i_pr.c:99:
58163:error:0907B00D:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/pem/pem_pkey.c:125: