A.2. 識別名

概要

歴史的に、識別名 (DN) は、X.500 ディレクトリー構造の主キーとして定義されています。ただし、DN は、他の多くのコンテキストで汎用識別子として使用されるようになりました。Apache CXF では、DN は次のコンテキストで発生します。

  • X.509 証明書 - たとえば、証明書内の DN の 1 つは、証明書の所有者 (セキュリティープリンシパル) を識別します。
  • LDAP: DN は、LDAP ディレクトリーツリー内のオブジェクトを見つけるために使用されます。

DN の文字列表現

DN は ASN.1 で正式に定義されていますが、DN の UTF-8 文字列表現を定義する LDAP 標準もあります (RFC 2253 を参照)。文字列表現は、DN の構造を記述するための便利な基礎を提供します。

注記

DN の文字列表現は、DER でエンコードされた DN の一意の表現を提供しません。そのため、文字列形式から DER 形式に戻される DN は、常に元の DER エンコーディングを復元する訳ではありません。

DN 文字列の例

以下の文字列は、DN の典型的な例です。

C=US,O=IONA Technologies,OU=Engineering,CN=A. N. Other

DN 文字列の構造

DN 文字列は、以下の基本要素から構築されます。

OID

OBJECT IDENTIFIER (OID) は、ASN.1 の文法構造を一意に識別するバイトのシーケンスです。

属性タイプ

DN に表示される可能性のあるさまざまな属性タイプは、理論的には制限がありませんが、実際には、属性タイプのごく一部のみが使用されます。表A.1「一般的に使用される属性のタイプ」 に遭遇する可能性が最も高い属性タイプの選択を示します。

表A.1 一般的に使用される属性のタイプ

文字列表現X.500 属性タイプ

データのサイズ

同等の OID

C

countryName

2

2.5.4.6

O

organizationName

1…​64

2.5.4.10

OU

organizationalUnitName

1…​64

2.5.4.11

CN

commonName

1…​64

2.5.4.3

ST

stateOrProvinceName

1…​64

2.5.4.8

L

localityName

1…​64

2.5.4.7

PIDGIN

streetAddress

  

DC

domainComponent

  

UID

userid

  

AVA

属性値のアサーション (AVA) は属性値を属性型に割り当てます。文字列表現では、以下の構文があります。

<attr-type>=<attr-value>

以下に例を示します。

CN=A. N. Other

または、同等の OID を使用して、文字列表現の属性タイプを特定できます (表A.1「一般的に使用される属性のタイプ」 を参照してください)。以下に例を示します。

2.5.4.3=A. N. Other

RDN

相対識別名 (RDN) は、DN の単一ノード (文字列表現のコンマ間で表示されるビット) を表します。技術的には、RDN には複数の AVA が含まれる場合があります (これは AVA のセットとして正式に定義されます)。ただし、これはほとんど行われていません。文字列表現では、RDN の構文は以下のようになります。

<attr-type>=<attr-value>[+<attr-type>=<attr-value> ...]

以下は、(非常にまれな) 複数値 RDN の冷です。

OU=Eng1+OU=Eng2+OU=Eng3

以下は、単一値 RDN の例です。

OU=Engineering