bg-blog-articles

SSL 证书格式和证书文件扩展名:完整指南

SSL 证书格式

要了解 SSL 证书是什么以及它是如何工作的,其实很容易。 但说到在服务器上安装,有时你可能会觉得这是一门火箭科学。

有如此多的SSL 证书格式与特定的服务器要求挂钩,你更有可能感到困惑和沮丧,而不是从一开始就正确配置证书。 但这种情况即将改变。

在本综合指南中,我们将剖析每种SSL 证书格式和证书文件扩展名,并向你展示两种转换不同文件类型的方法。


目录

  1. 证书文件格式 – 基础知识
  2. SSL 证书格式和文件扩展名
  3. SSL 格式转换

立即获取 SSL 证书

证书文件格式 – 基础知识

让我们从基础知识开始。 所有 SSL 证书都是 x.509 证书。 这是公钥证书的标准格式,用一种名为 “抽象语法符号一 “的正式语言表达。 关于 X.509 的结构,我们不再赘述;您可以在维基网站上阅读相关信息。 我们在此讨论 SSL 证书格式,如 DER、PEM、PKCS#7 和 PKCS#12。

区分它们的简单方法是看它们的编码。

PEM和PKCS#7使用 Base ASCII(美国信息交换标准码)编码。 对于包含文本的文件来说,这是一种流行的标准。

DER和PKCS#12使用二进制编码,这是一种仅由 0 和 1 组成的二进制数字系统。

由于格式和编码不同,SSL 证书有许多文件扩展名。


SSL 证书格式和文件扩展名

SSL 证书格式包括PEM、DER、PFX 和PKCS#7,每种格式都有特定的使用情况。常见的文件扩展名有

格式扩展说明
PEM.pem, .crt, .cerBase64 编码,用于 Unix/Linux 系统
DER.der、.cer二进制格式,用于 Windows
PFX/PKCS#12.pfx, .p12存储证书和私钥,在 Windows 中使用
PKCS#7.p7b, .p7c证书链,用于 Java 环境

让我们仔细研究一下每种格式及其 SSL 证书文件扩展名。 您将发现每个缩写背后的含义,以及什么系统最常用这个缩写。

DER 格式

DER stands for Distinguished Encoding Rules, a binary encoding format, rarely used outside of Windows. It is contained in .der or .cer files.


PEM 格式

PEM是最常用的 SSL 证书格式,也是你可能会遇到的格式。大多数 CA 都提供 PEM 格式的 SSL 证书,证书文件扩展名各不相同,如 .pem、.crt、.cer 或 .key。

PEM是 “隐私增强型电子邮件“(Privacy-Enhanced Email)的缩写,您可能想知道电子邮件与 SSL 证书有什么关系? 长话短说,PEM 的主要工作失败了,但作为一种容器格式却得到了应用。

从本质上讲,PEM 文件是 Base64 编码的 DER 文件,其中的 0 和 1 是用可打印字符序列编码的。 这样,你就可以用任何文本编辑器(包括记事本)打开它们。

单个 .pem 文件可包含服务器证书、中间证书和私钥。另外,你也可以在单独的 .crt 或 .cer 文件中接收服务器证书和中间证书,而私钥可以存在 .key 文件中。


PKCS#7 格式

PKCS是公钥加密标准的缩写。

PKCS#7是一种多用途 SSL 证书格式,用于分发加密数据。 它主要用于 Windows 平台和 Java Tomcat。

Today, we’re actually using its successor CMS (Cryptographic Message Syntax), but just like with SSL and TLS, the old name has become too familiar to replace.

PKSC#7 有两种文件扩展名:.p7b 或 p7c。与 PEM 不同,PKCS#7 不能存储私钥,只能存储主证书和中间证书。


PKCS#12 格式

PKCS#12是另一种具有更高安全性的公共密码标准。与 PEM 文件一样,它可以在一个 .pfx 文件中包含整个 SSL 证书链和密钥对。主要区别在于 PCKS#12 是一个受密码保护的容器。

Some server systems prompt you to enter a password during the CSR generation, and you can use it to open .pfx files. Some server systems prompt you to enter a password during the CSR generation, and you can use it to open .pfx files. If you still need to create that request, our SSL CSR generator produces the CSR and the matching private key from a single form.

购买 SSL 证书可节省 10% 的费用

SSL 格式转换

既然你已经知道了 SSL 证书格式及其多种证书文件扩展名,那么是时候揭示你真正期待的东西了–如何将 SSL 证书转换成任何格式。

As with most file conversions, there are different ways to approach them. The quickest one is to use an automatic SSL converter tool. All you have to do is pick your desired operation, for instance, PEM to PKCS#7 conversion, upload the files, and then hit Convert.

您也可以使用免费的 OpenSSL 软件库来转换 SSL 文件。 该实用程序可在几乎所有现有服务器上启用 SSL/TLS 协议。 许多平台和 Linux 发行版都预装了 OpenSSL 工具。 对于 Windows,您需要获取安装包。


将 X.509 转换为 PEM

要将 X.509 转换为 PEM,请在 OpenSSL 中运行以下命令:

openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem


将 DER 转换为 PEM

将二进制编码转换为 Base64 ASCII。

要将 DER 转换为 PEM,请运行以下命令:

openssl x509 -inform der -in certificatename.der -out certificatename.pem


将 PEM 转换为 DER

Base65 ASCII 转换为二进制编码。

要将 PEM 转换为 DER,请运行以下命令:

openssl x509 -inform der -in certificatename.der -out certificatename.pem


将 PEM 转换为 PKCS#7

.p7b 文件不包括私人密钥。

要将 PEM 转换为 PKCS#7,请运行以下命令:

openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer


将 PKCS#7 转换为 PEM

要将 PKCS#7 转换为 PEM,请运行以下命令:

openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem


将 PKCS#12 转换为 PEM

PKCS#12 文件受密码保护。

要将 PKCS#12 转换为 PEM,请运行以下命令:

openssl pkcs12 -in certificatename.pfx -out certificatename.pem


将 PKCS7 转换为 PKCS12

这需要两个步骤。 首先将 P7B 文件转换为 CER,然后将 CER 和私钥合并为 PFX。

  1. openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
  2. openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer

差不多就是这样。 现在你可以快速转换任何类型的 SSL 文件并将其安装到服务器上。


结论

了解 SSL 证书格式、证书文件扩展名以及如何将它们转换为所需配置是一项宝贵的技能,它将帮助你在任何系统上无缝安装 SSL 证书。

选择正确的 SSL 格式可确保网络服务器、电子邮件客户端、VPN 设备和网络的稳定加密和安全连接。

常见问题

导出证书备份文件使用什么文件扩展名?

导出证书备份文件使用的文件扩展名因证书的格式和类型而异。最常见的证书备份文件是 .p12 和 .pfx(Windows 系统)、.cer 和 .crt,以及用于备份私钥的 .key。

复制链接

APACHE2 支持哪些 SSL 证书文件类型?

Apache 使用 .cer .crt 和 .key 文件扩展名的 PEM 证书格式。

复制链接

如何在 Linux 中创建 ssl-certificate.pem 格式?

要在 Linux 上创建 PEM 格式的 SSL 证书,可以使用 OpenSSL 工具包及其命令行。 从 CA 收到 SSL 证书后,使用以下命令将私钥和 SSL 证书串联到一个文件中,即可创建 PEM 格式文件:

cat private.key your_ssl_certificate.crt > your_ssl_certificate.pem

复制链接

如何查找 SSL 证书的格式?

用任何文本编辑器打开 SSL 文件。 如果证书文件开头有”—–BEGIN CERTIFICATE—–“标签,文件结尾有”—–END CERTIFICATE—–“标签,则证书为 PEM 格式。 如果证书是 DER 格式,则不包含这些标签,而是二进制文件。

复制链接

哪种证书文件格式包含私钥?

PKCS#12 或 PFX 格式包含证书和私人密钥。 这种格式将私钥和相关证书存储在一个加密文件中。

复制链接

如何以 .pfx 格式导出 SSL 证书?

我们编写了一份详细指南,介绍如何在 Microsoft IIS(Internet 信息服务)中导入和导出 PFX 文件。

复制链接

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.