ASN.1では、特定の文字集合を表現した型が定義されています。
2012年5月27日日曜日
データ型 - オクテット列型
オクテット列型は、値として0個以上のオクテットから構成されるデータ型を表わします。
型の記法
オクテット列型 ::= OCTET STRING
値の記法
オクテット列値 ::= 2進列 | 16進列
例
G4FacsimileImage ::= OCTET STRING
helloworld OCTET STRING ::= '48656C6C6F20576F726C64'H
h OCTET STRING ::= '48'H
h OCTET STRING ::= '10010000'B
型の記法
オクテット列型 ::= OCTET STRING
値の記法
オクテット列値 ::= 2進列 | 16進列
例
G4FacsimileImage ::= OCTET STRING
helloworld OCTET STRING ::= '48656C6C6F20576F726C64'H
h OCTET STRING ::= '48'H
h OCTET STRING ::= '10010000'B
2012年5月17日木曜日
データ型 - ビット列型
ビット列型は、必ずしもオクテット単位の構成にならないデータを表現する場合に使用するデータ型です。
型の記法
ビット列型 ::= BIT STRING | BIT STRING{名前付きビットリスト}
名前付きビットリスト ::= 識別子(数字) | 識別子(定義値)
定義値 ::= 外部値参照 | 値参照
値の記法
ビット列値 ::= 2進列 | 16進列 | {識別子リスト} | {}
型の記法の例
型の記法
ビット列型 ::= BIT STRING | BIT STRING{名前付きビットリスト}
名前付きビットリスト ::= 識別子(数字) | 識別子(定義値)
定義値 ::= 外部値参照 | 値参照
値の記法
ビット列値 ::= 2進列 | 16進列 | {識別子リスト} | {}
型の記法の例
KeyUsage ::= BIT STRING {
digitalSignature (0),
nonRepudiation (1),
keyEncipherment (2),
dataEncipherment (3),
keyAgreement (4),
keyCertSign (5),
cRLSign (6),
encipherOnly (7),
decipherOnly (8) }
http://www.ietf.org/rfc/rfc2459
PersonalStatus ::= BIT STRING{
married(0),
employed(1)
vetern(2),
collegeGraduate(3)}
値の記法の例
personalstatus PersonalStatus ::= '0101'Bpersonalstatus PersonalStatus ::= '5'Hpersonalstatus PersonalStatus ::= { employed, collegeGarden}
2012年5月16日水曜日
データ型 - 列挙型
列挙型は、3つ以上の状態を表わしたり、あるいは区別したりするために使用するデータ型です。
型の記法
列挙型 ::= ENUMERATED{列挙}
列挙 ::= 名前付き数字, 列挙 | 名前付き数字
名前付き数字 ::= 識別子(符号付き数字) | 識別子(定義値)
符号付き数字 ::= 数字 | -数字
定義値 ::= 外部値参照 | 値参照
値の記法
列挙値 ::= 識別子
使用例
型の記法の例
CRLReason ::= ENUMERATED {
unspecified (0),
keyCompromise (1),
cACompromise (2),
affiliationChanged (3),
superseded (4),
cessationOfOperation (5),
certificateHold (6),
removeFromCRL (8),
privilegeWithdrawn (9),
aACompromise (10) }
http://www.ietf.org/rfc/rfc3280.txt
値の記法の例DayOfTheWeek::= ENUMERATED {
sunday (0),
monday (1),
tuesday (2),
wednesday (3),
thursday (4),
friday (5),
saturday (6) }
firstDayOfWeek DayOfTheWeek ::= sunday
データ型 - 実数型
実数型は、実数を値としてとるデータ型です。
ASN.1では、整数を使用して任意の精度の実数値を表現します。
実数を3つの要素、仮数(M), 基数(B),指数(E)を使用して表現します。
仮数、指数には任意の整数値を指定することができますが、基数は、2または10のみ指定することができます。
型の記法
実数型 ::= REAL
値の記法
実数値 ::= 数値実数値 | 特殊実数値
数値実数値 ::= {M, B, E} | 0
M ::= 符号付き数字
B ::= 2 | 10
E ::= 符号付き数字
特殊実数値 ::= PLUS-IFINITY | MINUS-INFINITY
例
型の記法の例
AngleInRadians ::= REAL
値の記法の例
zero REAL ::= 0
pi REAL ::= {314, 10, -2}
maximum REAL ::= PLUS-INFINITY
ASN.1では、整数を使用して任意の精度の実数値を表現します。
実数を3つの要素、仮数(M), 基数(B),指数(E)を使用して表現します。
仮数、指数には任意の整数値を指定することができますが、基数は、2または10のみ指定することができます。
型の記法
実数型 ::= REAL
値の記法
実数値 ::= 数値実数値 | 特殊実数値
数値実数値 ::= {M, B, E} | 0
M ::= 符号付き数字
B ::= 2 | 10
E ::= 符号付き数字
特殊実数値 ::= PLUS-IFINITY | MINUS-INFINITY
例
型の記法の例
AngleInRadians ::= REAL
値の記法の例
zero REAL ::= 0
pi REAL ::= {314, 10, -2}
maximum REAL ::= PLUS-INFINITY
2012年5月1日火曜日
データ型 - 整数型
整数型は、整数を値としてとるデータ型です。整数型のデータで表現できる整数値の範囲には、ほぼ制限がありません。
型の記法
整数型 ::= INTEGER | INTEGER{名前付き数字リスト}
名前付き数字 ::= 識別子(符号付き数字) | 識別子(定義値)
符号付き数字 ::= 数字 | -数字
定義値 ::= 外部値参照 | 値参照
値の記法
整数値 ::= 符号付き数字 | 識別子
使用例
識別子(符号付き数字)の例
TrailerField ::= INTEGER { trailerFieldBC(1) }
ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.asn
値の記法 符号付き数字の例
pkcs-9-ub-pkcs9String INTEGER ::= 255
値の記法 識別子の例
pkcs-9-ub-emailAddress INTEGER ::= pkcs-9-ub-pkcs9String
ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-9-v2/pkcs-9.asn
型の記法
整数型 ::= INTEGER | INTEGER{名前付き数字リスト}
名前付き数字 ::= 識別子(符号付き数字) | 識別子(定義値)
符号付き数字 ::= 数字 | -数字
定義値 ::= 外部値参照 | 値参照
値の記法
整数値 ::= 符号付き数字 | 識別子
使用例
識別子(符号付き数字)の例
TrailerField ::= INTEGER { trailerFieldBC(1) }
ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.asn
値の記法 符号付き数字の例
pkcs-9-ub-pkcs9String INTEGER ::= 255
値の記法 識別子の例
pkcs-9-ub-emailAddress INTEGER ::= pkcs-9-ub-pkcs9String
ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-9-v2/pkcs-9.asn
登録:
コメント (Atom)