ASN.1
JSONのようなデータ記述言語の古いもの、型だけ定義されていて書式は決まっていないので複数ある 構造はSEQUENCE/SEQUENCE OFがあり、JSONのObjectのような名前は含まない(省略するのであらかじめ元のスキーマ定義側の型を知っている必要あり) OBJECTIDENTIFIER で各項目を区別できる
OCTETSTRING でDERなどの構造を入れ子構造にすることもある (SEQUENCEの階層化とは違う)
ITU-T X.680 から 683, X.690 から X.692 ぐらい読めばいい?
最新版は
ITU-T X.680 ISO/IEC 8824-1 Abstract Syntax Notation One. Specification of basic notation 基本表記の仕様 ITU-T X.681 ISO/IEC 8824-2 Abstract Syntax Notation One: Information Object Specification. 情報オブジェクトの仕様 ITU-T X.682 ISO/IEC 8824-3 Abstract Syntax Notation One: Constraint Specification. 制約仕様 ITU-T X.683 ISO/IEC 8824-4 Abstract Syntax Notation One: Parameterization of ASN.1 Specifications. ASN.1のパラメータ化仕様 ISO/IEC 8825-1 JIS X 5603 (ASN.1) 仕様
書式 ASN.1 encoding rules
BER ITU-T X.690 ISO/IEC 8825-1 JIS X 5606-1 Basic Encoding Rules 基本エンコーディングルール CER ITU-T X.690 ISO/IEC 8825-1 JIS X 5606-1 Canonical Encoding Rules 標準エンコーディングルール
DER ITU-T X.690 ISO/IEC 8825-1 JIS X 5606-1 Distinguished Encoding Rules 識別符号化規則
PER ITU-T X.691 ISO/IEC 8825-2 JIS X 5606-2 Specification of Packed Encoding Rules (PER)
ECN ITU-T X.692 ISO/IEC 8825-3 Specification of Encoding Control Notation (ECN) エンコーディング制御表記法 XER ITU-T X.693 ISO/IEC 8825-4 XML Encoding Rules (XER)
ITU-T X.694 ISO/IEC 8825-5 Mapping W3C XML schema definitions into ASN.1
ITU-T X.695 ISO/IEC 8825-6 Registration and application of PER encoding instructions
OER ITU-T X.696 ISO/IEC 8825-7 Specification of Octet Encoding Rules (OER)
JER ITU-T X.697 ISO/IEC 8825-8 Specification of JavaScript Object Notation Encoding Rules (JER)
のような感じ
DERをBASE64でくるんだものがPEMだったりする(改行は64文字くらい?) PEMはASN.1の外で暗号化もできる?
RFC 5911 New ASN.1 Modules for Cryptographic Message Syntax (CMS) and S/MIME
RFC 5912 New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX) RFC 6025 ASN.1 Translation
暗号などの分野で標準書式っぽくDERが使われる。