2012年3月31日土曜日

モジュール その2

モジュール定義の詳細


モジュール識別子
DEFINITIONS ::=   
タグディフォルト
BEGIN
モジュール本体
END

モジュール識別子  ::= モジュール参照 割り当て識別子
割り当て識別子    ::= オブジェクト識別子値 | empty


タグデフォルト    ::= EXPLICIT TAGS | IMPLICIT TAGS | empty


モジュール本体         ::= Exports Imports AssignmentList | empty
Exports               ::= EXPORTS SymbolsExported; | empty
SymbolsExported       ::= SymbolList | empty
Imports               ::= IMPORTS SymbolsImported; | empty
SymbolsImported       ::= SymbolsFromModuleList | empty
SymbolsFromModuleList ::= SymbolsFromModule SymbolsFromModuleList | SymbolsFromModule
SymbolsFromModule     ::= SymbolList FROM モジュール識別子
SymbolList            ::= Symbol, SymbolList | Symbol
Symbol                ::= typereference | valuereference
AssignmentList        ::= Assignment AssignmentList | Assignment
Assignment            ::= TypeAssignment | ValueAssignment


2012年3月24日土曜日

モジュール

モジュール
ASN.1の記述は通常、共通のテーマや概念に関連するものを集めて定義します。この概念的にまとまったASN.1記述の集合をモジュールといいます。モジュールは以下のように定義します。

  モジュール識別子
  DEFINITIONS ::=   
  タグディフォルト
  BEGIN
  モジュール本体
  END


モジュール識別子は、モジュールの名前を表わします。モジュール本体にデータ型や値を定義します。



実際のモジュール例
PKCS#12のASN.1モジュール
ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-12/pkcs-12.asn 

2012年3月22日木曜日

JIS規格

X5603:1990
開放型システム間相互接続の抽象構文記法1(ASN.1)仕様
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+5603%3A1990&dantaiCd=JIS&status=1&pageNo=0


X5605-1:1998
抽象構文記法1(ASN.1)仕様―第1部:基本記法の仕様
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+5605-1%3A1998&dantaiCd=JIS&status=1&pageNo=0

X5605-2:1998
抽象構文記法1(ASN.1)仕様―第2部:情報オブジェクト仕様
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+5605-2%3A1998&dantaiCd=JIS&status=1&pageNo=0

X5605-3:1998
抽象構文記法1(ASN.1)仕様―第3部:制約仕様
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+5605-3%3A1998&dantaiCd=JIS&status=1&pageNo=0

X5605-4:1998
抽象構文記法1(ASN.1)仕様―第4部:ASN.1仕様のパラメータ化 http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+5605-4%3A1998&dantaiCd=JIS&status=1&pageNo=0

X5606-1:1998
ASN.1符号化規則―第1部:基本符号化規則(BER),標準符号化規則(CER)及び識別符号化規則(DER)の仕様
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+5606-1%3A1998&dantaiCd=JIS&status=1&pageNo=0


X5606-2:1998
ASN.1符号化規則―第2部:圧縮符号化規則(PER)の仕様
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?lang=jp&bunsyoId=JIS+X+5606-2%3A1998&dantaiCd=JIS&status=1&pageNo=0


2012年3月20日火曜日

型割り当てと値割り当て

型割り当て
ASN.1に型を宣言する場合、定義する型名(型参照)に型を割り当てます。
この事を型割り当てといいます。
   型参照 ::= 型


TelephoneNumber ::= NumericString

値割り当て
事前に定義されているデータ型の値を宣言する場合、定義する値名(値参照)
に値を割り当てます。このことを値割り当てといいます。
   値参照 型 ::= 値


myNumber TelephonNumber ::= “012-345-6789”

2012年3月17日土曜日

ASN.1とは

ASN.1(Abstract Syntax Notation One:抽象構文記法1)は、データ型を定義するために用いる記述言語です。ASN.1は、いくつかの基本データ型が定義されています。また、これらの基本データ型を用いて、新しいデータ型を定義する機構を提供しています。

2012年3月12日月曜日

ASN.1の記法

私は、仕事柄、デジタル署名のデータを解析することが多いです。
デジタル署名で使用されているASN.1の記法は、1988年版の記法を使用しているのが多いので、当面は、1988年版の記法について、記載していきます。

2012年3月10日土曜日

日本語の解説書

2002年版 ITU-T国際勧告の解説書

標準規格書

ASN.1の標準化は、ITU-TとISOの共同で進めらています。


最新のASN.1記法 標準規格書 、ASN.1符号化規則 標準規格書は、
ITU-Tの以下のURLから入手可能。
http://www.itu.int/ITU-T/studygroups/com17/languages/

X.680 ASN.1 :基本記法仕様
X.681 ASN.1 :情報オブジェクト仕様
X.682 ASN.1 :制約仕様
X.683 ASN.1 :パラメータ化

X.690 符号化規則: BER,CER,DER仕様
X.691 符号化規則: PER仕様
X.692 符号化規則: ASN.1用ECN
X.693 符号化規則: XER
X.694 符号化規則: W3C XMLスキーマ定義のマッピング
X.695 符号化規則: PER符号化命令の登録とアプリケーション

1988年版の標準規格書は、以下から入手可能
http://www.itu.int/rec/T-REC-X.208-198811-W/

X.208 ASN.1 (抽象構文記法)
X.209 ASN.1のための基本符号化規則