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).