Privacy-Enhanced Mail (PEM)是存储、传输密钥公开密钥证书和其他数据的文件格式的業界標準

1985年PSRG (Privacy and Security Research Group)提出Privacy Enhanced Mail[1],但未被广泛采纳。经过PGPS/MIME的补充,这种文本编码流行起来,并在1993年被IETF形成RFC,即RFC 7468页面存档备份,存于互联网档案馆)。[2]

格式

许多加密标准使用ASN.1定义数据结构,使用DER英语X.690#DER encoding串行化这些数据结构。[3] 由于DER产生的是二进制格式数据,在许多系统(如电子邮件)中传输不便,所以需要使用ASCII表示DER格式的数据,即PEM格式。

PEM格式采用了Base64编码。此外,PEM还定义了一行作为头部,一行作为尾部:

-----BEGIN加上一个标签加上-----
-----END加上一个标签加上-----

标签确定了被编码的信息的类型,可以是:CERTIFICATE, CERTIFICATE REQUEST, PRIVATE KEYX509 CRL.

PEM数据的文件扩展名常为:".pem"、".cer"、".crt"、".key"。[4] PEM格式并不管二进制数据的格式和用途,因此PEM文件可以包括“几乎任何基于base64编码的包夹在BEGIN和END头尾行之间的数据”。[5]

PEM文件可以包含多段数据实例。

-----BEGIN CERTIFICATE-----
[服務器憑證的Base64編碼數據]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[第一個中間憑證的Base64編碼數據]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[第二個中間憑證的Base64編碼數據]
-----END CERTIFICATE-----
... [可能還有更多中間憑證]
-----BEGIN CERTIFICATE-----
[根憑證的Base64編碼數據]
-----END CERTIFICATE-----

参考文献

  1. ^ Kent, S. Internet Privacy Enhanced Mail. Communications of the ACM. 1993, 36 (8): 48–60 [2022-03-01]. S2CID 15759913. doi:10.1145/163381.163390. (原始内容存档于2022-03-01). 
  2. ^ Johnson, Mike. Cryptology in Cyberspace. Cryptologia. 1995-10-01, 19 (4): 392–396. ISSN 0161-1194. doi:10.1080/0161-119591884042. 
  3. ^ Sean, Leonard; Simon, Josefsson. Textual Encodings of PKIX, PKCS, and CMS Structures. April 2015: sec. 1 [2017-03-06]. RFC 7468 (英文). 
  4. ^ DER vs. CRT vs. CER vs. PEM Certificates and How To Convert Them. www.gtopia.org. [2020-02-04]. (原始内容存档于2019-08-04). 
  5. ^ Where is the PEM file format specified?. [2022-03-01]. (原始内容存档于2022-03-01).