メインコンテンツまでスキップ

1. Introduction (はじめに)

1. Introduction (はじめに)

インターネット上で使用されるいくつかのセキュリティ関連標準は, 通常 Basic Encoding Rules (BER) または Distinguished Encoding Rules (DER) [X.690] を使用してエンコードされる ASN.1 データフォーマットを定義しています。これらはバイナリでオクテット指向のエンコーディングです。この文書は以下のフォーマットのテキストエンコーディングについて扱います:

  1. Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile [RFC5280] における証明書 (Certificates), 証明書失効リスト (Certificate Revocation Lists, CRLs), およびサブジェクト公開鍵情報 (Subject Public Key Info) 構造。

  2. PKCS #10: Certification Request Syntax [RFC2986]。

  3. PKCS #7: Cryptographic Message Syntax [RFC2315]。

  4. Cryptographic Message Syntax [RFC5652]。

  5. PKCS #8: Private-Key Information Syntax [RFC5208], Asymmetric Key Package [RFC5958] における One Asymmetric Key に改名されたもの, および同文書における Encrypted Private-Key Information Syntax。

  6. An Internet Attribute Certificate Profile for Authorization [RFC5755] における属性証明書 (Attribute Certificates)。

バイナリデータフォーマットの欠点は, 電子メールやテキスト文書などのテキスト転送では交換できないことです。テキストベースのエンコーディングの利点の1つは, 一般的なテキストエディタを使用して簡単に変更できることです。例えば, ユーザーはコピーアンドペースト操作で複数の証明書を連結して証明書チェーンを作成することができます。

RFC シリーズ内の伝統は, Marshall Rose による Message Encapsulation [RFC934] の提案に基づいた Privacy-Enhanced Mail (PEM) [RFC1421] まで遡ることができます。元々は "PEM encapsulation mechanism", "encapsulated PEM message", または (議論の余地はありますが) "PEM printable encoding" と呼ばれていたこのフォーマットは, 今日では "PEM encoding" と呼ばれることもあります。バリエーションには OpenPGP ASCII armor [RFC4880] や OpenSSH key file format [RFC4716] があります。

基本的には非協調または不注意に帰結する理由により, 多くの PKIX, PKCS, および CMS ライブラリは PEM エンコーディングと類似しているが同一ではないテキストベースのエンコーディングを実装しています。この文書は_テキストエンコーディング_フォーマットを規定し, ほとんどの実装が動作するデファクトルールを明文化し, 今後の相互運用性を促進する推奨事項を提供します。この文書はまた, このデファクト標準フォーマットの進化を反映した構文要素の共通命名法も提供します。Peter Gutmann の "X.509 Style Guide" [X.509SG] には "base64 Encoding" に関するセクションがあり, フォーマットを説明し, この文書にあるものと類似した提案を含んでいます。すべての図は実際の機能的な例であり, 鍵長と内部コンテンツは可能な限り小さくなるように選ばれています。

この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", および "OPTIONAL" は, RFC 2119 [RFC2119] に記述されているように解釈されるものとします。