2012年4月29日日曜日

データ型 - 組み込み型 - メタタイプ

データ型の中には、単純型、構造型の両方になれるものがいくつか存在します。 そのような型をメタタイプと呼びます。

データ型 - 論理型

論理型(BOOLEAN)
論理型は、 2つの論理値である真、偽、いずれかの状態をとるデータ型です。

型の記法
論理型 ::= BOOLEAN

値の記法
論理値 ::= TRUE | FALSE

論理型の使用例
http://www.ietf.org/rfc/rfc3161.txt
TimeStampReq ::= SEQUENCE  {
   version                  INTEGER  { v1(1) },
   messageImprint           MessageImprint,
     --a hash algorithm OID and the hash value of the data to be
     --time-stamped
   reqPolicy                TSAPolicyId                OPTIONAL,
   nonce                    INTEGER                    OPTIONAL,
   certReq                  BOOLEAN                    DEFAULT FALSE,
   extensions               [0] IMPLICIT Extensions    OPTIONAL  }


2012年4月24日火曜日

データ型 - 組み込み型 - タグ型

順序列型や集合型では、OPTIONAL指定を行うことで構成要素を省略したり、DEFAULT指定で省略時の値を示したりすることができます。
そのため、構造型の定義によっては、どの構成要素であるか識別することができない場合があります。このようなときに構成要素を区別する手段を提供するのがタグ型です。

ASN.1では、個々のデータ型のあいまいさなく識別するため、ASN.1のデータ型にタグが割当てられています。また、一意性の特性に関する要求事項からタグを4つのクラスに分類しています。



ASN.1のデータ型は、汎用クラスのタグ番号が割り当てられています。


2012年4月21日土曜日

データ型 - 組み込み型 - 構造型

構造型は、単純型を結合することで複雑なデータ型を組み立てます。



データ型 - 組み込み型 - 単純型

単純型と呼ばれるデータ型には、基本タイプと呼ばれる型と派生タイプと呼ばれる型の2種類が存在します。派生タイプは、基本タイプのオクテット列型から派生した型です。

基本タイプ

派生タイプ

2012年4月20日金曜日

データ型 - 概要




組み込み型
 ASN.1によって、あらかじめ定義された基本的なデータ型

定義型
 組み込み型を組み合わせて新しく定義されたデータ型

部分型
 データ型に制限をつけて、もとのデータ型のサブセットとして定義された型

2012年4月16日月曜日

ASN.1 記法の詳細 - 項目 その2

キーワード
キーワードは、必ず英大文字を使用して記述します。定められた用途以外では使用することはできません。


2012年4月14日土曜日

ASN.1 記法の詳細 - 項目

ASN.1における単語の分類をASN.1項目と呼びます。
ASN.1では、各ASN.1項目を1つ以上のスペースまたは改行で区切って並べて記述します。

項目名称

1.割当て (::=)
ASN.1では、新しいデータ型を定義する場合、既存のデータ型を組み合わせて定義をします。
このとき、割当てを使用して、左辺には新しいデータ型の名前を記述し、右辺には既存のデータ型、もしくは、既存のデータ型の組み合わせを記述します。

2.変数項目
変数項目は、データの型や値を参照するための名前です。名前をつける種類により、
下表の4種類に分類されます。



3.データ値項目
データ値項目は、データの具体的な内容を表わす項目です。データの種類により、下表の
4種類に分類されます。



4.その他の項目
変数項目、データ値項目以外にも、以下のASN.1項目があります。



2012年4月2日月曜日

ASN.1 記法の詳細 - 文字集合

ASN.1 記法で使用される文字の集まりを文字集合といいます。
ASN.1の文字集合は以下のとおりです。