P7B 转 PEM
从 .p7b/.p7c 证书包里取出证书,按站点证书在前的顺序输出 PEM,在浏览器里完成。
浏览器本地运行 私钥在你的浏览器里(WebCrypto)生成和处理,不会离开你的设备,也不会上传到 ssl.sh。
P7B 转 PEM 工具从 PKCS #7 证书包里提取全部证书。粘贴 -----BEGIN PKCS7----- 块,或选择 .p7b/.p7c 文件(PEM、DER 都可以),点 转换,就能得到按链排好序的 PEM 证书,可以直接作为完整证书链使用。转换在浏览器里完成。
什么时候需要
- CA 或代理商发来的是
.p7b,常见于面向 IIS 的下载包。 - 在 Windows 里导出证书时选了“加密消息语法标准 - PKCS #7”并勾选“包括证书路径中的所有证书”。
- Java 密钥库或网络设备导出了
.p7c文件。
步骤
- 粘贴 PKCS #7 文本或选择文件。
- 点 转换。
- 复制 PEM 结果。如果包含根证书而你只需要服务器证书链,把根证书去掉。
等价的 OpenSSL 命令
openssl pkcs7 -print_certs -in certs.p7b -out certs.pem
openssl pkcs7 -inform DER -print_certs -in certs.p7b -out certs.pem # DER 格式的文件
-print_certs 会在每张证书上方额外输出 subject= 和 issuer= 行,多数服务器会忽略,但宝塔、云控制台等面板可能因此报格式错误,所以这个工具输出的是干净的 PEM。
下一步
Windows 服务器可以用 PEM 转 PFX 把证书链和私钥打包;Nginx、Apache 可以直接用。用证书解析工具核对顺序。
常见问题
P7B 里的私钥在哪?
没有。PKCS #7 证书包从来不含私钥,私钥在生成 CSR 的那台机器上。要做 PFX,把这里得到的 PEM 证书和那个私钥一起用。
为什么证书顺序和文件里不一样?
PKCS #7 里的证书是无序集合,很多文件把根证书放在最前面。服务器必须先发站点证书,所以工具会重新排序。
根证书要保留吗?
配置服务器时不需要,只发站点证书和中间证书。需要把根证书装进信任库时再保留。