3.3. 構文定義 (L-U)
3.3.18. LDAP 構文記述
LDAP Syntax Description (LDAP 構文記述) 構文の値は、LDAP 構文の記述です。この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <SyntaxDescription> 規則によって定義されます。
LDAP Syntax Description 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.54 DESC 'LDAP Syntax Description' )
上記の LDAP Syntax Description 構文の LDAP 定義自体が、LDAP Syntax Description 構文の正当な値です。
LDAP Syntax Description 構文に対応する ASN.1 タイプは、EXPLICIT TAGS を仮定すると、以下のように定義されます:
LDAPSyntaxDescription ::= SEQUENCE {
identifier OBJECT IDENTIFIER,
description DirectoryString { ub-schema } OPTIONAL }
DirectoryString パラメータ化 ASN.1 タイプは [X.520] で定義されています。
ub-schema の値 (整数) は実装定義です。[X.520] に非規範的な定義があります。
3.3.19. マッチング規則記述
Matching Rule Description (マッチング規則記述) 構文の値は、マッチング規則の定義です。この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <MatchingRuleDescription> 規則によって定義されます。
例:
( 2.5.13.2 NAME 'caseIgnoreMatch'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
注: 読みやすくするために改行が追加されています。これは構文の一部ではありません。
Matching Rule Description 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.30 DESC 'Matching Rule Description' )
この構文は [X.501] の MatchingRuleDescription ASN.1 タイプに対応しています。
3.3.20. マッチング規則使用法記述
Matching Rule Use Description (マッチング規則使用法記述) 構文の値は、extensibleMatch 検索フィルタ [RFC4511] でマッチング規則を適用できる属性タイプを示します。この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <MatchingRuleUseDescription> 規則によって定義されます。
例:
( 2.5.13.16 APPLIES ( givenName $ surname ) )
Matching Rule Use Description 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.31
DESC 'Matching Rule Use Description' )
この構文は [X.501] の MatchingRuleUseDescription ASN.1 タイプに対応しています。
3.3.21. 名前とオプションの UID
Name and Optional UID (名前とオプションの UID) 構文の値は、エンティティの識別名 [RFC4512] であり、オプションで、同じ識別名を持つ他のエンティティと区別するための固有の識別子が伴います。
この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:
NameAndOptionalUID = distinguishedName [ SHARP BitString ]
<BitString> 規則は第 3.3.2 節で定義されています。<distinguishedName> 規則は [RFC4514] で定義されています。<SHARP> 規則は [RFC4512] で定義されています。
'#' 文字は識別名の文字列表現に出現する可能性がありますが、<distinguishedName> が <NameAndOptionalUID> にエンコードされる際、この文字の追加のエスケープは実行されないことに注意してください。
例:
1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B
Name and Optional UID 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.34 DESC 'Name And Optional UID' )
この構文は [X.520] の NameAndOptionalUID ASN.1 タイプに対応しています。
3.3.22. 名前形式記述
Name Form Description (名前形式記述) 構文の値は、エントリの命名方法を規定する名前形式の定義です。この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <NameFormDescription> 規則によって定義されます。
例:
( 2.5.15.3 NAME 'orgNameForm' OC organization MUST o )
Name Form Description 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.35 DESC 'Name Form Description' )
この構文は [X.501] の NameFormDescription ASN.1 タイプに対応しています。
3.3.23. 数字文字列
Numeric String (数字文字列) 構文の値は、1つ以上の数字とスペースのシーケンスです。この構文の値の LDAP 固有エンコーディングは、以下の ABNF に準拠する未変換の文字列です:
NumericString = 1*(DIGIT / SPACE)
<DIGIT> および <SPACE> 規則は [RFC4512] で定義されています。
例:
15 079 672 281
Numeric String 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.36 DESC 'Numeric String' )
この構文は [ASN.1] の NumericString ASN.1 タイプに対応しています。
3.3.24. オブジェクトクラス記述
Object Class Description (オブジェクトクラス記述) 構文の値は、オブジェクトクラスの定義です。この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <ObjectClassDescription> 規則によって定義されます。
例:
( 2.5.6.2 NAME 'country' SUP top STRUCTURAL MUST c
MAY ( searchGuide $ description ) )
注: 読みやすくするために改行が追加されています。これは構文の一部ではありません。
Object Class Description 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Description' )
この構文は [X.501] の ObjectClassDescription ASN.1 タイプに対応しています。
3.3.25. オクテット列
Octet String (オクテット列) 構文の値は、ゼロ、1つ、または複数の任意のオクテットのシーケンスです。この構文の値の LDAP 固有エンコーディングは、以下の ABNF に準拠する未変換のオクテットシーケンスです:
OctetString = *OCTET
<OCTET> 規則は [RFC4512] で定義されています。この構文の値は通常、人間が読めるものではありません。
Octet String 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.40 DESC 'Octet String' )
この構文は [ASN.1] の OCTET STRING ASN.1 タイプに対応しています。
3.3.26. OID
OID 構文の値は、オブジェクト識別子です。これは、特定のオブジェクトや仕様項目を一意に識別する、2つ以上の非負整数にシーケンスです。LDAP で使用される多くのオブジェクト識別子には、IANA 登録名もあります [RFC4520]。
この構文の値の LDAP 固有エンコーディングは、[RFC4512] の <oid> 規則によって定義されます。
例:
1.2.3.4
cn
OID 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' )
この構文は [ASN.1] の OBJECT IDENTIFIER ASN.1 タイプに対応しています。
3.3.27. その他のメールボックス
Other Mailbox (その他のメールボックス) 構文の値は、特定の名前付きメールシステム内の電子メールボックスを識別します。この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:
OtherMailbox = mailbox-type DOLLAR mailbox
mailbox-type = PrintableString
mailbox = IA5String
<mailbox-type> 規則は、メールボックスが存在するメールシステムのタイプ (例えば "MCIMail") を表し、<mailbox> は <mailbox-type> で記述されたメールシステム内の実際のメールボックスです。<PrintableString> および <IA5String> 規則は第 3.2 節で定義されています。<DOLLAR> 規則は [RFC4512] で定義されています。
Other Mailbox 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' )
Other Mailbox 構文に対応する ASN.1 タイプは、EXPLICIT TAGS を仮定すると、以下のように定義されます:
OtherMailbox ::= SEQUENCE {
mailboxType PrintableString,
mailbox IA5String
}
3.3.28. 郵便住所
Postal Address (郵便住所) 構文の値は、物理的な郵便システムにおける住所を形成する、1つ以上の任意の UCS 文字の文字列のシーケンスです。
この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:
PostalAddress = line *( DOLLAR line )
line = 1*line-char
line-char = %x00-23
/ (%x5C "24") ; エスケープされた "$"
/ %x25-5B
/ (%x5C "5C") ; エスケープされた "\"
/ %x5D-7F
/ UTFMB
郵便住所値の各文字列 (すなわち <line>) は、UTF-8 [RFC3629] 文字列としてエンコードされます。ただし、文字列内に "" および "$" 文字が出現する場合、それらは "" 文字とそれに続く文字の2桁の16進数コードによってエスケープされます。<DOLLAR> および <UTFMB> 規則は [RFC4512] で定義されています。
多くのサーバーは、郵便住所を最大6行、1行あたり最大30文字に制限しています。
例:
1234 Main St.$Anytown, CA 12345$USA
\241,000,000 Sweepstakes$PO Box 1000000$Anytown, CA 12345$USA
Postal Address 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' )
この構文は [X.520] の PostalAddress ASN.1 タイプに対応しています。すなわち:
PostalAddress ::= SEQUENCE SIZE(1..ub-postal-line) OF
DirectoryString { ub-postal-string }
ub-postal-line および ub-postal-string の値 (両方とも整数) は実装定義です。[X.520] に非規範的な定義があります。
3.3.29. 印刷可能文字列
Printable String (印刷可能文字列) 構文の値は、第 3.2 節の <PrintableCharacter> 規則で指定された、1つ以上のラテンアルファベット、数字、および選択された句読点文字の文字列です。
この構文の値の LDAP 固有エンコーディングは、第 3.2 節の <PrintableString> 規則に準拠する未変換の文字列です。
例:
This is a PrintableString.
Printable String 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.44 DESC 'Printable String' )
この構文は [ASN.1] の PrintableString ASN.1 タイプに対応しています。
3.3.30. 部分文字列アサーション
Substring Assertion (部分文字列アサーション) 構文の値は、文字列属性値の部分文字列拡張マッチングの引数として使用される、ゼロ、1つ、または複数の文字部分文字列のシーケンスです。すなわち、MatchingRuleAssertion [RFC4511] の matchValue として使用されます。各部分文字列は、Universal Character Set (UCS) [UCS] からの1文字以上の任意の文字の文字列です。長さゼロの部分文字列は許可されません。
この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:
SubstringAssertion = [ initial ] any [ final ]
initial = substring
any = ASTERISK *(substring ASTERISK)
final = substring
ASTERISK = %x2A ; アスタリスク ("*")
substring = 1*substring-character
substring-character = %x00-29
/ (%x5C "2A") ; エスケープされた "*"
/ %x2B-5B
/ (%x5C "5C") ; エスケープされた "\"
/ %x5D-7F
/ UTFMB
Substring Assertion 値の各 <substring> は、UTF-8 [RFC3629] 文字列としてエンコードされます。ただし、部分文字列内に "" および "*" 文字が出現する場合、それらは "" 文字とそれに続く文字の2桁の16進数コードによってエスケープされます。
Substring Assertion 構文は、拡張マッチにおけるアサーション値の構文としてのみ使用されます。属性構文として、または SubstringFilter [RFC4511] では使用されません。
Substring Assertion 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.58 DESC 'Substring Assertion' )
この構文は [X.520] の SubstringAssertion ASN.1 タイプに対応しています。
3.3.31. 電話番号
Telephone Number (電話番号) 構文の値は、国際電話番号を表すための国際的に合意された形式 [E.123] に準拠する印刷可能な文字の文字列です。
この構文の値の LDAP 固有エンコーディングは、第 3.2 節の <PrintableString> 規則に準拠する未変換の文字列です。
例:
+1 512 315 0280
+1-512-315-0280
+61 3 9896 7830
Telephone Number 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' )
Telephone Number 構文は [X.520] の以下の ASN.1 タイプに対応しています:
PrintableString (SIZE(1..ub-telephone-number))
ub-telephone-number の値 (整数) は実装定義です。[X.520] に非規範的な定義があります。
3.3.32. テレテックス端末識別子
この構文の値は、テレテックス端末の識別子と (オプションで) パラメータを指定します。
この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:
teletex-id = ttx-term *(DOLLAR ttx-param)
ttx-term = PrintableString ; 端末識別子
ttx-param = ttx-key COLON ttx-value ; パラメータ
ttx-key = "graphic" / "control" / "misc" / "page" / "private"
ttx-value = *ttx-value-octet
ttx-value-octet = %x00-23
/ (%x5C "24") ; エスケープされた "$"
/ %x25-5B
/ (%x5C "5C") ; エスケープされた "\"
/ %x5D-FF
<PrintableString> および <COLON> 規則は第 3.2 節で定義されています。<DOLLAR> 規則は [RFC4512] で定義されています。
Teletex Terminal Identifier 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.51
DESC 'Teletex Terminal Identifier' )
この構文は [X.520] の TeletexTerminalIdentifier ASN.1 タイプに対応しています。
3.3.33. テレックス番号
Telex Number (テレックス番号) 構文の値は、テレックス端末のテレックス番号、国コード、およびアンサーバックコードを指定します。
この構文の値の LDAP 固有エンコーディングは、以下の ABNF によって定義されます:
telex-number = actual-number DOLLAR country-code
DOLLAR answerback
actual-number = PrintableString
country-code = PrintableString
answerback = PrintableString
<PrintableString> 規則は第 3.2 節で定義されています。<DOLLAR> 規則は [RFC4512] で定義されています。
Telex Number 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.52 DESC 'Telex Number' )
この構文は [X.520] の TelexNumber ASN.1 タイプに対応しています。
3.3.34. UTC 時刻
UTC Time (UTC 時刻) 構文の値は、日付と時刻を1分または1秒の精度で表す文字列です。年は2桁の数字で表されます。この構文の値の LDAP 固有エンコーディングは、[ASN.1] で UTCTime タイプに定義された形式に従い、以下の ABNF で記述されます:
UTCTime = year month day hour minute [ second ]
[ u-time-zone ]
u-time-zone = %x5A ; "Z"
/ u-differential
u-differential = ( MINUS / PLUS ) hour minute
<year>, <month>, <day>, <hour>, <minute>, <second>, および <MINUS> 規則は第 3.3.13 節で定義されています。<PLUS> 規則は [RFC4512] で定義されています。
上記の ABNF は、有効な日付 (グレゴリオ暦において) および/または有効な時刻を表さない文字列を許可しています。そのような文字列は、この構文では無効と見なされるべき (SHOULD) です。
<u-time-zone> の "Z" 形式が使用される場合、時刻値は協定世界時を表します。それ以外の場合、値は現地時間を表します。後者の場合、<u-differential> が提供されていれば、現地時間から差分を引くことで協定世界時を計算できます。<u-time-zone> は時刻値に存在するべき (SHOULD) であり、<u-time-zone> の "Z" 形式は <u-differential> よりも優先して使用されるべき (SHOULD) です。
UTC Time 構文の LDAP 定義は以下の通りです:
( 1.3.6.1.4.1.1466.115.121.1.53 DESC 'UTC Time' )
注: この構文は廃止されており、Generalized Time 構文が推奨されます。
UTC Time 構文は [ASN.1] の UTCTime ASN.1 タイプに対応しています。