1、下载openssl工具,(这里以windows系统为例)
https://www.chinassl.net/download/d1.html
2、格式转换
一个P7B文件是一个包含证书和证书链的文本文件,但不包含私钥。
为存储和传输用户或服务器私钥、公钥和证书指定了一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件。
需要注意的是,为了做转换,你必须拥有证书cert.p7b文件和私钥cert.key文件。
$ openssl pkcs7 -print_certs -in cert.p7b -out cert.cer
-print_certs: 输出文件中包含的任何证书.
-in: 指定输入文件.
-out: 指定输出文件.
$ openssl pkcs12 -export -in cert.cer -inkey cert.key -out cert.pfx
-export: 表示导出证书.
-in:指定 PKCS#12 的文件名.
-inkey: 指定私钥文件名.
-out: 指定输出文件.
3、扩展:
创建2048 位的 RSA证书, 有效期为5年:
$ openssl req -new -x509 -days 1825 -sha256 -nodes -out cert.crt \ -keyout cert.key
req: 产生证书签发申请命令
-new: 表示新的请求.
-x509: 签发X.509格式证书命令.
-days: 表示有效天数.
-sha256: 表示证书摘要算法,这里为SHA256.
-nodes: 私钥将不会被加密.
-out: 指定输出文件名.
-keyout: 指定新创建的私钥的文件名.
$ openssl pkcs12 -export -in cert.crt -inkey cert.key -out cert.pfx
$ openssl req -new -newkey rsa:2048 -sha256 -nodes -out cert.csr \ -keyout cert.key
-newkey :创建一个新的证书请求和KEY.
注意:“Country Name”必须为“CN”,其他字段可以随意填写。
$ openssl pkcs12 -in cert.pfx -nocerts -nodes | openssl rsa -out rsaprivkey.pem
以上是.P7B 证书如何转换为 .PFX的详细内容。更多信息请关注PHP中文网其他相关文章!