オブジェクト識別子(Object Identifier:OID)について
「電子証明書の定義であるRFC5280を読んでみる(ASN1)その②」で出てきた
-----------------------------------
AttributeType ::= OBJECT IDENTIFIER
-----------------------------------
の「OBJECT IDENTIFIER」について少し勉強してみました。
オブジェクト識別子とは、「ITU-TとISO/IECによって定義されたオブジェクトやコンセプト等を世界で唯一識別するための識別子」だそうです。
OIDツリーという方法で定義をされており、ツリーの一番上は以下の3つのノードが定義されています。
0: ITU-T(ITU-Tで決められたもの)
1: ISO(ISOで決められたもの)
2: joint-iso-itu-t(ITU-TとISOの共同で決められたもの)
例えば、2の「joint-iso-itu-t」の下には37個の子ノードが存在し、
1.asn1(ASN.1 standards)
5.ds(Directory Services)
16.country(Joint (ITU-T and ISO/IEC) registration within a country)
などが定義されています。
上記の子ノードにもさらに子ノードが存在し、階層構造となっています。「AttributeType」はOIDの階層では3階層目にあたり、以下の様に表現されます。
{joint-iso-itu-t(2) ds(5) attributeType(4)}
このAttributeTypeにも98個の子ノードが存在し、例えば
3.commonName
4.surname
5.serialNumber
といった定義がされています。
{2.5.4.3}とOID表現で表現されている場合に、属性タイプがcommonNameであることが分かります。
<参考>OIDは以下のサイトから誰でも調べることができます。
http://oid-info.com/index.htm
「電子証明書の定義であるRFC5280を読んでみる(ASN1)その②」のAttributeTypeタイプはこれらのOIDの中から選択されるということのようです。で、98個の中から最低でも
* country(国)
* organization(組織)
* organizational unit(組織内部署)
* distinguished name qualifier(DN Qualifier)
* state or province name(州、地域)
* common name (e.g., "Susan Housley")(一般的な名前)
* serial number(シリアル番号)
については定義されることを想定したシステム構築をしろってことですね。
以上、OIDについてでした。
電子証明書の定義であるRFC5280を読んでみる(ASN1)その④