- X.509証明書はRFC5280で定義されており、証明書を作成する際に使用するOIDもこの中で定義されています。
- 例えば、拡張キー使用法(EKU)の記載を探すために、RFC5280を”2.5.29.37″で検索しても見つかりません。OIDの定義は後述のようにASN.1という形式で定義されており、単純な番号の羅列では定義されていないためです。
- 拡張キー使用法(EKU: “2.5.29.37”)の定義
- 証明書拡張(id-ce)としてOID: “2.5.29”が定義されています。
1234.2.1. Standard Extensions...id-ce OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 29 }
- 拡張キー使用法(id-ce-extKeyUsage)は”{ id-ce 37 }”と定義されています。
前項のid-ceの値を展開すると”2.5.29.37″になります。1234.2.1.12. Extended Key Usage...id-ce-extKeyUsage OBJECT IDENTIFIER ::= { id-ce 37 }
- 証明書拡張(id-ce)としてOID: “2.5.29”が定義されています。
- 拡張キー使用法(EKU)で指定可能なキーの定義
EKUの値として、サーバ認証やクライアント認証等の目的を表現するキーを指定します。
目的キーの値は、例えばサーバ認証であれば”1.3.6.1.5.5.7.3.1″、クライアント認証であれば”1.3.6.1.5.5.7.3.2″を指定します。これらの目的キーは次のように定義されています。- X.509証明書の標準(id-pkix)として、”1.3.6.1.5.5.7″が定義されています。
(PKIXは”the Public-Key Infrastructure using X.509″の意味のようです。)12345A.1. Explicitly Tagged Module, 1988 Syntax...id-pkix OBJECT IDENTIFIER ::={ iso(1) identified-organization(3) dod(6) internet(1)security(5) mechanisms(5) pkix(7) } - 目的キー共通(id-kp)として”{ id-pkix 3 }”が定義されています。前項のid-pkixを展開すると”1.3.6.1.5.5.7.3″となります。
目的キーの一つであるサーバ認証(id-kp-serverAuth)は”{ id-kp 1 }”と定義されています。前述のid-kpを展開すると”1.3.6.1.5.5.7.3.1″となります。
同様に、クライアント認証は”{ id-kp 2 }”と定義されているので、id-kpを展開して”1.3.6.1.5.5.7.3.2″となります。12345678910111213144.2.1.12. Extended Key Usage...id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 }-- TLS WWW server authentication-- Key usage bits that may be consistent: digitalSignature,-- keyEncipherment or keyAgreementid-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 }-- TLS WWW client authentication-- Key usage bits that may be consistent: digitalSignature-- and/or keyAgreement...
- X.509証明書の標準(id-pkix)として、”1.3.6.1.5.5.7″が定義されています。
リンク