试想一下:你正准备用 SSL 证书保护你的网站,为访问者提供一个可信的加密连接。你听说这对保护敏感数据和提高网站信誉至关重要。但在安装证书时,你需要一个 .pem 文件来完成配置。
那么, 什么是 .pem 文件?为什么首先需要它?本指南将为您一一解答。此外,你还将学习如何创建 .pem 文件并在操作系统上打开它。让我们开始吧!
目录
什么是 .pem 文件?
在计算机安全和密码学方面,PEM(隐私增强邮件)文件是一种包含密码信息的常用容器格式。 它可能包含公共证书或整个 SSL 链(私钥和公钥、根证书和中间证书以及最终用户证书)。
PEM这一名称最初来源于电子邮件加密标准,但现在已被更广泛地用于各种数据类型。 它以 base64 编码,具有特定的结构和标头,可显示其包含的数据类型。
PEM 文件的扩展名有 .pem、.crt、.cer 或 .key。它们有一个或多个项目,这些项目通常由标记分隔,如X.509 证书的”—–BEGIN CERTIFICATE—–” 和”—–END CERTIFICATE—–“,或私钥的”—–BEGIN PRIVATE KEY—–” 和”—–END PRIVATE KEY—–“。
PEM 文件可包括以下证书和 RSA 密钥:
- 服务器证书:该文件包含安全网络通信 (HTTPS) 或电子邮件加密 (S/MIME) 中使用的公钥和相关身份信息。
- 私钥:这些文件包含非对称密钥对中用于解密数据的部分。
- 根证书和中间证书:证书颁发机构证书验证其他证书的真实性,是网络安全信任基础架构的基础。
- 其他加密对象和参数。
了解了 .pem 文件的基础知识后,让我们来看一个 PEM 证书文件示例。
什么是 .pem 文件示例?
.pem 文件格式以独立的多个块和特定的链顺序存储SSL 证书。 根据服务器类型,您可能需要一个包含多个证书(如服务器和中间证书)的 PEM 文件,或者一个包含私钥和整个信任链的文件。
如果你要安装Sectigo SSL 证书,下面是它的内容:
- RSA 私钥 –your_domain_name.key
- 主证书 –your_domain_name.crt
- 中间证书 – SectigoRSA.crt
- 根证书 -USERTrustRSACertificationAuthorityCARoot.crt
如果你打开它,就会发现这里有什么:
—–begin rsa private key—–
(您的私人密钥:your_domain_name.key)
—–end rsa 私钥—–
—–begin certificate—–
(您的主 SSL 证书:your_domain_name.crt)
—–end certificate—–
—–begin certificate—–
(您的中间证书: SectigoRSA.crt)
—–end certificate—–
—–begin certificate—–
(您的信任链根证书:USERTrustRSACertificationAuthorityCARoot.crt)
—–end certificate—–
请务必查看服务器的 SSL 安装指南,了解正确的文件格式和证书顺序。
如何将 .pem 文件用于 SSL 证书?
要将 .pem 文件用于 SSL 证书,应在网络服务器上配置相应的证书和密钥文件。
首先,你需要生成一个 .pem 文件,其中包括SSL 提供商签发的证书,并将其放置在特定的服务器位置。 获得该文件后,您就可以在 Nginx 和 Apache 网络服务器中使用它。
在 Nginx 中,必须在服务器配置中指定 .pem 文件的路径。对于 Apache,则需要在虚拟主机配置中指定 SSLCertificateFile和SSLCertificateKeyFile指令。
使用 .pem 文本文件可确保您的网络服务器拥有必要的 SSL 证书,以便为您的域启用安全的 HTTPS 加密。
请遵循正确的配置步骤,否则可能会出现SSL 连接错误和网站中断。
如何打开 .pem 文件?
打开 .pem 证书文件最简单快捷的方法是使用文本编辑器,如记事本(Windows)、TextEdit(macOS)或任何 Linux 文本编辑器。
另一个选择是证书查看器:如果 PEM 文件包含 X.509 证书,可以使用证书查看器或管理工具打开并查看证书。
视窗:使用内置的 “证书管理器”。 按 Win + R 键,然后键入”……”:
certmgr.msc
然后按回车键。 然后,导入文件并查看证书。
macOS:使用 Keychain Access 应用程序导入和查看证书。
Linux OpenSSL等工具可以通过命令行显示证书。 要查看 PEM 文件中的证书,请使用以下命令:
openssl x509 -in your_cert.pem -text -noout
最后,如果 PEM 文件包含 SSH 密钥,可以使用 ssh-keygen 工具查看其内容。 处理 PEM 文件的方式取决于文件的内容。 它可以是证书、私人密钥或其他编码数据,因此使用的工具和方法也会相应不同。
如何创建 .pem 文件?
您可以手动或通过 OpenSSL 等外部工具创建此类文件。 如果从 CA 购买了 SSL 证书,可以打开必要的 SSL 文件,然后将内容复制并粘贴到另一个扩展名为 PEM 文件的文件中。 根据医疗服务提供者的指引,保持正确的证书顺序。 回到我们的 PEM 示例,查看正确的证书序列。
如何使用 OpenSSL 生成 .pem 文件?
要使用 OpenSSL 生成 .pem 文件,需要遵循以下步骤:
- 如果尚未安装 OpenSSL,请在系统上安装。
- 打开命令提示符或终端。
- 导航到要生成 .pem 文件的目录。
- 运行以下命令生成私钥和CSR(证书签名请求)文件:
openssl req -newkey rsa:2048 -nodes -keyout private.key -out csr.csr - 按照提示输入 CSR 的必要信息。
- 然后,运行以下命令创建 .pem 文件:
openssl x509 -req -in csr.csr -signkey private.key -out certificate.pem
OpenSSL 将在同一目录下创建它。
如何用私钥生成 .pem 文件?
现在,让我们用私钥生成一个 .pem 文件。为此,我们将再次使用 OpenSSL:
- 打开终端或命令提示符。
- 导航到包含私人密钥的目录。
- 运行此命令:
openssl rsa -in private.key -outform PEM -out private.pem
就是这样。 该命令会将私钥转换为 PEM 格式。
如何从 .pem 文件中获取私钥?
以下是通过 OpenSSL 获取私钥的步骤:
- 打开终端或命令提示符。
- 导航至包含 .pem 文件的目录。
- 运行此命令:
openssl rsa -in yourfile.pem -out privatekey.pem - 将 “yourfile.pem “替换为您的 .pem 文件名。
- 出现提示时输入密码。
该命令提取私钥,并将其保存为同一目录下的 “privatekey.pem”。
如何转换 .pem 文件?
您可以通过 OpenSSL 或外部文件转换工具转换 .pem 文件。常用的转换包括从 PEM 转为 PFX 或 CRT 扩展名。我们的 SSL 证书格式和转换工具指南详细介绍了每种格式和转换。
如何使用 OpenSSL 将 .crt 文件转换为 .pem
- 打开终端或命令提示符。
- 使用以下命令将 .crt 文件转换为 .pem 文件:
openssl x509 -in your_certificate.crt -out your_certificate.pem -outform PEM - 将 your_certificate.crt 替换为 .crt 文件的实际名称,将 your_certificate.pem 替换为所需的 .pem 文件名称。
请记住,.crt 和 .pem 可以包含相同的证书数据,因此这种转换主要是更改文件扩展名,并确保文件是 PEM 格式。
如何从 .crt 创建 .pem 文件
从 .crt 文件创建 .pem 证书文件涉及一个转换过程,但由于 .crt 文件本质上是 PEM 格式的证书,因此无需执行任何额外的转换步骤。如果要从 .crt 文件创建 .pem 文件,可以重命名文件扩展名。
您可以在 Windows 上右键单击该文件,选择 “重命名”,然后将 .crt 更改为 .pem。
常见问题
.crt 和 .pem 是否相同?
虽然 .crt 和 .pem 文件都可以包含证书,但它们并不相同。.crt 文件通常只包含证书,而 .pem 文件可以同时包含证书和私人密钥。
.pem 文件是私人密钥吗?
.pem 文件可以包含私钥,但并非总是如此。它是一种容器格式,可以只包含公共证书,也可以包含整个证书链(私钥、公共证书、根证书)。
.pem 是否包含公钥?
是的,.pem 文件可以存储独立的公钥、私钥、证书或它们的组合。
.pem 是否包含根证书?
PEM 文件可以包含根证书,但也可以包含中间证书和最终实体证书,具体取决于其用途和上下文。
Windows 能否使用 .pem?
是的,Windows 可以使用 .pem 文件。不过,某些 Windows 应用程序和服务,特别是与 Microsoft 有关的应用程序和服务,可能要求证书和密钥采用不同的格式,如 .pfx 或 .cer。你可以使用 OpenSSL 等工具将 .pem 文件转换为这些格式。
.pem 文件是 Base64 编码吗?
是的,.pem 文件是 Base64 编码的。这种编码格式允许以 ASCII 格式表示证书或密钥的二进制数据,使其更易于传输和存储。.pem 文件中可阅读的”—–BEGIN… “和”—–END… “页眉和页脚封装了 Base64 编码内容。
结论
总之,PEM 只是存储加密密钥和数字证书的多种文件格式之一。 使用 OpenSSL 或其他转换工具时,管理证书文件和浏览不同扩展名都非常简单。
通过学习如何打开、转换和生成 .pem 文件,你可以在任何服务器和客户端上安装和配置 SSL 证书。
因此,无论您是开发人员、IT 专业人员,还是单纯的好奇者,学习如何使用 .pem 文件都将有助于提高各种应用程序和协议的安全性。