70 likes | 233 Views
ASN.1 2002 Tutorial. Jim Schaad. Why we care. Paul Hoffman and Jim Schaad have a contract to develop a freeware 2002 ASN.1 compiler Expect to be released by the end of the year We will be doing updates to “core” 1988 ASN.1 modules. Component Relation Constraint. ContentInfo ::= SEQUENCE {
E N D
ASN.1 2002 Tutorial Jim Schaad
Why we care • Paul Hoffman and Jim Schaad have a contract to develop a freeware 2002 ASN.1 compiler • Expect to be released by the end of the year • We will be doing updates to “core” 1988 ASN.1 modules
Component Relation Constraint ContentInfo ::= SEQUENCE { contentType CONTENT-TYPE.&id({ContentSet}), content [0] EXPLICIT CONTENT-TYPE.&Type ({ContentSet}{@contentType})} ContentSet CONTENT-TYPE ::= { -- Define the set of content types to be recognized. -- Import and add any from external modules at this point. -- ct-Data | ct-SignedData | ct-EncryptedData | ct-EnvelopedData | ct-AuthenticatedData | ct-DigestedData, … } }
Algorithms Constraint DigestAlgorithmList ALGORITHM ::= { -- Include digest algorithm set here alg-sha-1 | alg-md5, … } DigestAlgorithmIdentifier ::= AlgorithmIdentifier {{DigestAlgorithmList}}
Algorithm Associations ALGORITHM::= CLASS { &id OBJECT IDENTIFIER UNIQUE, &ExtnType } WITH SYNTAX {PARAMS &ExtnType IDENTIFIED BY &id } • Add other fields? • <ID, Params, Value> • Use different ones for Signature, Encrypted Data and Key
Extensibility RecipientInfo ::= CHOICE { ktri KeyTransRecipientInfo, kari [1] KeyAgreeRecipientInfo, kekri [2] KEKRecipientInfo, pwri [3] PasswordRecipientInfo, ori [4] OtherRecipientInfo, … } Other structures as well.
Questions • Other items we should use? • Should we do as much decoration as possible? • People who want specific compiler features – see me after the meeting.