本文へスキップ
ecdsa.com

OID(オブジェクト識別子)

1.2.840.10045.2.1 のようにドットで区切った、世界で一意の整数の並びで、委任された登録ツリーを通じて割り当てられ、ASN.1 でアルゴリズム、曲線、拡張、ポリシーを命名するために使われます。
別表記object identifierOID arcdotted OID

アークは階層的に委任されます。1.2.840 は ISO の下の米国の枝、1.2.840.113549 は RSA Security(PKCS)のもの、1.3.6.1.4.1 はプライベートエンタープライズ番号を収め、2.5 は X.500 ディレクトリ、2.16.840.1.101.3.4 は NIST のアルゴリズムを扱います。X.509 では、1.2.840.10045.2.1(id-ecPublicKey)、1.2.840.10045.3.1.7(P-256)、1.3.101.112(Ed25519)、2.5.29.17(subjectAltName)、2.23.140.1.2.1(CA/Browser Forum のドメイン認証ポリシー)などに頻繁に出会います。

DER は OID をタグ 0x06 でエンコードします。最初の 2 つのアークは 40 × 1 番目 + 2 番目としてまとめられ、それ以降の各アークは、最上位ビットを継続フラグとする 128 進数で書かれます。1.2.840.10045.2.1 は 06 07 2A 86 48 CE 3D 02 01 になります。

未知の OID は、それ自体はエラーではありません。証明書パーサーはドット区切りの番号として表示します。ただし、未知の OID を持つクリティカルな拡張がある場合は、証明書を拒否しなければなりません(RFC 5280 §4.2)。ASN.1 エクスプローラーは、よく知られた OID に名前を付けて表示します。

規格と参考文献

すべての用語