.P7B 转换为 .PFX

1、下载openssl工具,(这里以windows系统为例)

    https://www.chinassl.net/download/d1.html

2、格式转换

P7B (PKCS#7)

一个P7B文件是一个包含证书和证书链的文本文件,但不包含私钥

PFX (PKCS#12)

为存储和传输用户或服务器私钥、公钥和证书指定了一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件。

转换 P7B 为 PFX

需要注意的是,为了做转换必须拥有证书cert.p7b文件和私钥cert.key文件。

$ openssl pkcs7 -print_certs -in cert.p7b -out cert.cer


  1. -print_certs: 输出文件中包含的任何证书.

  2. -in: 指定输入文件.

  3. -out: 指定输出文件.


$ openssl pkcs12 -export -in cert.cer -inkey cert.key -out cert.pfx


  1. -export: 表示导出证书.

  2. -in:指定 PKCS#12 的文件名.

  3. -inkey: 指定私钥文件名.

  4. -out: 指定输出文件.


3、扩展:

创建自签名的证书

创建2048 位的 RSA证书, 有效期为5年:

$ openssl req -new -x509 -days 1825 -sha256 -nodes -out cert.crt \
-keyout cert.key


  1. req: 产生证书签发申请命令

  2. -new: 表示新的请求.

  3. -x509: 签发X.509格式证书命令.

  4. -days: 表示有效天数.

  5. -sha256: 表示证书摘要算法,这里为SHA256.

  6. -nodes: 私钥将不会被加密.

  7. -out: 指定输出文件名.

  8. -keyout: 指定新创建的私钥的文件名.

$ openssl pkcs12 -export -in cert.crt -inkey cert.key -out cert.pfx

创建一个证书请求 (CSR)

$ openssl req -new -newkey rsa:2048 -sha256 -nodes -out cert.csr \
-keyout cert.key

-newkey :创建一个新的证书请求和KEY.

注意:“Country Name”必须为“CN”,其他字段可以随意填写。

创建RSA私钥为PFX

$ openssl pkcs12 -in cert.pfx -nocerts -nodes | openssl rsa -out rsaprivkey.pem