PEM 格式

2024-09-18 08:00:10 浏览数 (2)

1.简介

.pem 文件扩展名代表“Privacy Enhanced Mail”,但它被用于比电子邮件更广泛的上下文中,主要关联于加密、SSL/TLS 和证书管理。PEM 格式是一种用于存储和发送加密信息的标准,包括证书(如 SSL/TLS 服务器和客户端证书)、私钥、公钥和其他相关数据。

2.格式和内容

PEM 文件是基于 Base64 编码的文本文件,它们将二进制数据转换为可读的 ASCII 文本格式。PEM 文件还包括一个首尾明确的标记行,用以指示文件内容的类型。例如:

-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE----- 之间的文本表示证书。 -----BEGIN PRIVATE KEY----- 和 -----END PRIVATE KEY----- 之间的文本表示私钥。

这些标记确保内容的正确解析和使用。

3.常见用途

PEM 文件在多种情境中都非常有用,主要包括:

  1. SSL/TLS 证书:
  • 网站和服务器用它们来验证身份并建立安全的连接。
  • .pem 文件可以包含服务器证书、中间证书和根证书链。
  1. 公钥和私钥
  • 用于各种加密操作,如 RSA、DSA 或 ECC 密钥。
  • 私钥文件通常需要严格保密,而公钥可以公开。
  1. SSH 认证
  • SSH 使用 PEM 格式的密钥进行安全的远程登录和其他认证过程。
  1. 编程和脚本

开发人员和系统管理员使用 PEM 文件来编程实现加密通信、数据加密和安全认证。

4.标准化

PEM(Privacy Enhanced Mail)格式最终由互联网工程任务组(IETF)在 RFC 7468 中正式规范化。

RFC 7468,标题为 “Textual Encodings of PKIX, PKCS, and CMS Structures”,于2015年发布。这份RFC明确了用于表示公共密钥基础设施(PKIX)、公钥加密标准(PKCS)和加密消息语法(CMS)结构的文本编码。

RFC 7468 规范化了 PEM 格式的细节,包括:

  • 预备说明和用途

这份文档描述了用于存储和传输密钥、证书和其他加密对象的文本编码格式。

  • 标准化结构

定义了一种标准方法来编码和包装这些数据结构,使其可以在不同的系统和软件之间安全地交换。

  • 首尾边界行

每个PEM文件都有明确的开始和结束标记,例如 -----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----。这些边界行使得从文本中识别和提取编码数据成为可能。

  • Base64 编码

PEM 文件使用 Base64 编码来表示原始二进制数据,这使得它们可以通过文本流(如电子邮件)安全传输。

  • 处理说明

RFC 7468 还提供了关于如何处理和解析这些编码的指导,确保不同的实现可以一致地处理 PEM 数据。

5.示例

一个典型的 PEM 格式证书看起来像这样:

代码语言:javascript复制
-----BEGIN CERTIFICATE-----
MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF
ADA5MQswCQYDVQQGEwJVTTEOMAwGA1UEChMFTXlTUUwxEzARBgNVBAMTCk15U1FM
...
-----END CERTIFICATE-----

参考文献

RFC 7468 Privacy-Enhanced Mail - wikipedia

0 人点赞