.pem 和 .crt 在实际使用中本质是同一类编码格式(Base64 编码的 PEM 容器),二者**没有技术上的格式差异**,仅是文件扩展名不同。.crt 文件通常也遵循 PEM 编码规范(即以 -----BEGIN CERTIFICATE----- 开头、-----END CERTIFICATE----- 结尾),因此“转换”本质上是重命名或验证内容是否符合 X.509 证书结构。
若原始 .pem 文件确实包含标准的单个证书(非私钥、非证书链拼接体),可直接将其重命名为 .crt 后使用。多数 Web 服务器(如 Nginx、Apache)、负载均衡器及操作系统信任库均接受该扩展名。若需确认内容合法性,可用 OpenSSL 检查:
openssl x509 -in domain.pem -text -noout
若输出证书信息且无错误,则该文件可安全重命名为 domain.crt;若报错 unable to load certificate,说明该 .pem 可能混入私钥、中间证书或采用 DER 编码,需先分离或转码。
也可以使用topSSL证书格式转换工具转换!
.pem 文件可能包含证书+私钥+CA 链(多段 BEGIN/END 块)。此时不能整体改名为 .crt;应提取首段证书块(从 -----BEGIN CERTIFICATE----- 到对应 -----END CERTIFICATE-----)单独保存为 .crt。openssl x509 -inform DER -in cert.der -outform PEM -out cert.crt 转换,而非简单重命名。加密您的网站,赢得客户信任!