PEM转CRT转换器
将 PEM 文本证书转换为 CRT 二进制证书,使 Apache 服务器和 Windows 系统能够正确读取您的 Web 安全凭据。
格式比较与技术规格
| 规格 | PEM | CRT |
|---|---|---|
| MIME 类型 | application/ | application/ |
| 类型 | Base64 ASCII 证书容器 | X.509 公钥证书 |
| 压缩 | 无(Base64 文本编码) | 无 |
| 标准规范 | IETF RFC 7468 | ITU-T X.509 / RFC 5280 |
| 魔数文件头 (Magic Bytes) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) | 30 82 (DER SEQUENCE) or -----BEGIN CERTIFICATE----- (PEM text) |
格式概述与应用
安全证书通过加密用户和服务器之间的流量来保护网站。PEM 格式使用 Base64 ASCII 文本,这使得在基本文本编辑器中打开或将其复制并粘贴到电子邮件中变得容易。然而,许多服务器环境、硬件防火墙和特定的操作系统会拒绝文本格式,它们反而需要 CRT 格式。 当管理员将安全证书从 Apache Web 服务器迁移到 Windows Internet Information Services 环境或网络设备时,经常会遇到这种不匹配的情况。Windows 机器或硬件负载均衡器期望文件使用二进制结构。更改文件格式使这些系统能够正确读取安全密钥并建立安全的 HTTPS 连接,而不会向访问者显示错误。
技术规格与编解码器解析
PEM 格式使用 MIME 类型 application/x-pem-file,依赖包裹在特定标头和尾行之间的 Base64 ASCII 编码。这些边界行分别为 -----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----。CRT 格式使用 MIME 类型 application/x-x509-ca-cert,以称为可辨别编码规则(Distinguished Encoding Rules,DER)的二进制结构存储完全相同的加密公钥数据。两种格式均不使用压缩,因此文件没有压缩开销。转换过程完全无损,只是将文本编码的 Base64 字节转换回原始二进制字节,不会改变底层加密公钥数据的任何一位。
操作系统与浏览器兼容性
证书文件扩展名无法表明内容采用 DER 还是 PEM 编码。Linux 服务器软件通常接受 PEM,而 Windows 证书工具和设备可能接受 DER 或其他容器。请查阅产品文档确认其输入格式;浏览器使用信任存储区,而不是将服务器证书文件作为网页内容打开。
实用信息
在将证书应用到生产 Web 服务器之前,务必通过使用 OpenSSL 命令检查模数值,验证您的私钥是否与新转换的 CRT 文件相匹配。
常见问题
如何在不损失质量的情况下将 PEM 证书转换为 CRT 证书?
此转换完全无损。两种文件格式都存储完全相同的 X.509 加密公钥数据。转换文件只是将容器编码从 Base64 ASCII 文本更改为二进制字节,而不会改变底层安全密钥。
PEM 证书与 CRT 证书有何区别?
PEM 文件是一个基于文本的容器,使用 Base64 编码和人类可读的标题行。CRT 文件是一个二进制容器,以原始字节格式保存完全相同的证书数据,这是特定操作系统和服务器硬件所必需的。