PEM形式 【Privacy-Enhanced Mail】 .pemファイル
概要
PEM形式(Privacy-Enhanced Mail)とは、電子メールを暗号化して送受信する「PEM」(Privacy-Enchanced Mail)規格から派生したファイル形式。デジタル証明書や暗号鍵などをBase64形式で文字列に変換して記録したテキストファイルである。シンプルなテキスト形式のファイルで、「-----BEGIN ラベル-----[改行]」と「-----END ラベル-----[改行]」の間にBase64でエンコードされた目的のデータを記述する。一つのファイルにこの構造を繰り返し記述することができ、SSLサーバ証明書と中間証明書など複数の異なるデータを格納することができる。
ラベルが「CERTIFICATE」であればデジタル証明書を、「PRIVATE KEY」であれば公開鍵暗号における秘密鍵を表す。目的に応じて「PUBLIC KEY」(公開鍵)、「CERTIFICATE REQUEST」(証明書署名要求)、「X509 CRL」(証明書失効リスト)なども使用できる。
汎用的なファイル拡張子として「.pem」が用意されているが、PEM形式であるということしか分からず、中に記載されているデータが何であるかは開いて確認しなければ分からない。デジタル証明書を格納する場合は「.cer」または「.crt」、公開鍵や秘密鍵の場合は「.key」、証明書署名要求の場合は「.csr」を拡張子とすることが多い。
元になったPEM規格は公開鍵暗号のRSA暗号と共通鍵暗号のDES(Data Encryption Standard)を組み合わせてメールの暗号化とデジタル署名の添付を行う仕組みで、1993年にIETFによってRFC 1421~1424として標準化された。
メッセージの暗号化や署名は他の規格に取って代わられPEM自体は廃れたが、PEM形式のファイルはSSL/TLSやSSHなどでその後も根強く使われたため、2015年にRFC 7468として改めて仕様が整理されている。
(2023.2.10更新)