对于所有管理 SSL 证书的人来说,了解 CER 与 CRT 文件的区别都很必要。设想你购买了 SSL 证书,却因文件扩展名不对而无法在服务器上工作,岂不让人懊恼。.CER 与 .CRT 是最常见的两种证书文件扩展名,对初学者而言容易混淆。

本文将解释 CER 与 CRT 文件的区别,以及如何相互转换,以确保你的网站安全。

什么是 CER 文件?

.CER 文件是一种证书文件,用于在计算机之间保存 SSL 证书,以便在互联网传输过程中收集安全信息。它本质上是公钥、数字签名,以及证书持有者与签发证书的证书颁发机构(CA)的信息。Base64 或二进制的 .CER 文件是符合 X.509 公钥证书结构的编码文件。

这些文件对于建立安全连接(如网站的 SSL/TLS)十分重要,因为它们有助于验证网站真实性。该扩展名最常与 PEM(Privacy Enhanced Mail)格式证书关联,PEM 为基于文本、人类可读的格式。但 .CER 文件也可能以 DER(Distinguished Encoding Rules)格式存在,这是一种人类不可读、二进制编码的格式。

什么是 CRT 文件?

CRT 文件同样是包含公钥及证书持有者相关信息的证书文件。.CRT 扩展名也常用于各类证书颁发机构(CA)签发的证书,并与 .CER 文件一样以 PEM 或 DER 格式编码。

.CRT 文件的目的与 .CER 文件相同,二者都为互联网在线通信提供保护,因为相关方都能确认彼此的真实性。这类文件用于网站的 SSL/TLS 证书、邮件加密或其他类型的数据传输。

.CER 与 .CRT 的区别

从技术上讲,.CER 与 .CRT 文件没有区别,二者在数字证书中发挥相同作用。但存在以下细微差异:

  • 文件扩展名:最明显的区别就是扩展名本身 CER 与 CRT。这看似微不足道,却可能导致某些软件或系统的兼容性问题。
  • 用法与约定:虽然两种文件类型包含相同信息,但 CER 扩展名常用于安装在各类操作系统中的安全文件;CRT 则常与作为 SSL/TLS 实现一部分的证书相关联。
  • 操作系统兼容性:某些操作系统偏好其中一种格式。例如 Windows 系统可能偏好 CER 文件,而 UNIX/Linux 系统偏好 CRT 文件。

尽管存在这些差异,两种格式通常可互换,许多系统都能毫无问题地接受其中任何一种。

X.509 证书文件名扩展名

从技术上讲,所有 SSL 证书都称为 X.509 证书。因此,处理数字证书时,了解 X.509 证书使用的文件名扩展名至关重要。除 .CER 与 .CRT 外,你可能还会遇到其他扩展名:

  • .pem:Privacy Enhanced Mail 文件,为 Base64 编码的证书,可包含证书与私钥。
  • .p12/.pfx:常用于 Windows 环境中导入导出证书,包含完整证书链,含公钥与私钥。
  • .cer、.crt、.der:常用于证书。.der 通常为二进制格式,但也常见 Base64 编码的证书(如 .pem 文件)。
  • .p7b、.p7c:不含任何私钥,而是包含证书链与 CRL(证书吊销列表)的签名数据结构。

如何将 CRT 转换为 CER?

将 .CRT 文件转换为 .CER 文件非常简单,可通过两种方法进行。

方法 A:使用 OpenSSL

  • 从官网下载安装 OpenSSL,或使用包管理器。
  • 以管理员模式打开命令提示符,或以 root 权限打开终端。
  • 使用“cd”命令进入包含 .crt 文件的目录。
  • 输入以下命令将 .crt 文件转换为 .cer 文件:
openssl x509 -in yourfile.crt -out yourfile.cer

将“yourfile.crt”替换为你的实际 .crt 文件名,“yourfile.cer”替换为转换后文件名。

  • 检查目录,确认 .cer 文件已生成。

方法 B:使用图形界面(GUI)

如果你更习惯图形界面而非命令行,可参考此方法:

  • 双击你的 .CRT 证书文件。
  • 切换到“详细信息”选项卡,点击“复制到文件”选项。
  • 弹出向导后,点击“下一步”按屏幕提示操作。
  • 选择你偏好的文件格式,此处选择 .CER,点击“下一步”。
  • 输入新文件名,点击“下一步”。
  • 完成后点击“完成”结束向导。

如何将 CER 转换为 CRT?

将 .CER 文件转换为 .CRT 文件,步骤与上述相同,仅命令略有变化。先执行上面的第 1 至 3 步,找到你的 .CER 文件,然后输入以下命令:

openssl x509 -in yourfile.cer -out yourfile.crt

同样,将“yourfile.cer”与“yourfile.crt”替换为对应文件名。完成后检查目录,确认文件已成功转换。

为何需要在 .CER 与 .CRT 之间转换?

转换需求取决于多种因素:

  • 兼容性:不同的软件应用与操作系统可能偏好其中一种格式。基于 Unix 的系统偏好 .CRT 文件,而 Windows 服务器使用 .CER 扩展名。遇到兼容性问题时,转换文件扩展名或可解决问题。
  • 不同编码格式:虽然扩展名并不直接决定编码,但 CER 文件多为 Base64 编码的二进制文件,CRT 文件为 Base64 编码的 ASCII 文件。在格式间转换可使它们更易于按特定需求处理和使用。

此外,转换文件格式还有若干琐碎原因,例如保持跨平台统一性,或遵循组织可能规定仅使用某些类型数字证书文件的安全策略。

结语

总而言之,.CER 与 .CRT 文件在数字安全世界中看似做着相同的工作,但了解它们之间的区别确实能带来不同。如果你负责在线安全,掌握这些格式间的转换是一项实用技能。通过本文介绍的步骤,你可以轻松整理证书,确保在线通信保持安全与可靠。