| PKIX1 { } | 
 | DEFINITIONS IMPLICIT TAGS ::= | 
 | BEGIN | 
 | id-ce OBJECT IDENTIFIER  ::=  {joint-e OPTIONAL, | 
 |      explicitTextã    DisplayText OPTIONAL} | 
 | NoticeReference ::= SEQUENCE { | 
 |      organization     DisplayText, | 
 |      noticeNumbers    SEQUENCE OF INTEGER } | 
 | DisplayText ::= CHOICE { | 
 |      visibleString    VisibleString  (SIZE (1..200)), | 
 |      bmpString        BMPString      (SIZE (1..200)), | 
 |      utf8String       UTF8String     (SIZE (1..200)) } | 
 | id-ce-policyMappings OBJECT IDENTIFIER ::=  { id-ce 33 } | 
 | PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE { | 
 |      issuerDomainPolicy      CertPolicyId, | 
 |      subjectDomainPolicy     CertPolicyId } | 
 | DirectoryString ::= CHOICE { | 
 |       teletexString             TeletexString (SIZE (1..MAX)), | 
 |       printableString           PrintableString (SIZE(1..MAX)), | 
 |       universalString           UniversalString (SIZE (1..MAX)), | 
 |       utfBMPString (SIZE(1..MAX)), | 
 |       -- IA5String is aER  -- ( id-qt-cps | id-qt-unotice ) | 
 | CPSuri ::= IA5String | 
 | UserNotice ::= SEQUENCE { | 
 |      noticeRef        NoticeReference OPTIONAL, | 
 |      explicitText     DisplayText OPTIONAL} | 
 | NoticeReference ::= SEQUENCE { | 
 |      organization     DisplayText, | 
 |      noticeNumbers    SEQUENCE OF INTEGER } | 
 | DisplayText ::= CHOICE { | 
 |      visibleString    VisibleString  (SIZE (1..200)), | 
 |      bmpString        BMPString      (SIZE (1..200)), | 
 |      utf8String       UTF8String     (SIZE (1..200)) } | 
 | id-ce-policyMappings OBJECT IDENTIFIER ::=  { id-ce 33 } | 
 | PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE{ | 
 |      issuerDomainPolicy      CertPolicyId, | 
 |      subjectDomainPolicy     CertPolicyId } | 
 | DirectoryString ::= CHOICE { | 
 |       teletexString             TeletexString (SIZE (1..MAX)), | 
 |       printableString           PrintableString (SIZE (1..MAX)), | 
 |       universalString           UniversalString (SIZE (1..MAX)), | 
 |       utf8String              UTF8String (SIZE (1..MAX)), | 
 |       bmpString               BMPString (SIZE(1..MAX)), | 
 |       -- IA5String is added here to handle old UID encoded as ia5String -- | 
 |       -- See tests/userid/ for more information.  It shouldn't be here, -- | 
 |       -- so if it causes problems, considering dropping it. -- | 
 |       ia5String             ` Ig | 
 | id-at-commonName        AttributeType   ::=     {id-at 3} | 
 | X520CommonName  ::=      DirectoryString | 
 | id-at-localityName      AttributeType   ::=     {id-at 7} | 
 | X520LocalityName ::= DirectoryString | 
 | id-at-stateOrProvinceName       AttributeType   ::=     {id-at 8} | 
 | X520StateOrProv~ ~ ~inceName         ::= DirectoryString | 
 | id-at-organizationName          AttributeType   ::=     {id-at 10} | 
 | X520OrganizationName ::= DirectoryString | 
 | id-at-organizationalUnitName    AttributeType   ::=     {id-at 11} | 
 | X520OrganizationalUnit&ame ::= DirectoryString | 
 | id-at-title     AttributeType   ::=     {id-at 12} | 
 | X520Title ::=   DirectoryString | 
 | id-at-description     AttributeType   ::=     {id-at 13} | 
 | X520Description ::=   DirectoryString | 
 | id-at-dnQualifier       AttributeType   ::=     {id-at 46} | 
 | X520dnQualifier ::=     PrintableString | 
 | id-at-countryName       AttributeType   ::=     {id-at 6} | 
 | X520countryName ::=     PrintableString (SIZE (2)) -- IS 3166 codes | 
 | id-at-serialNumber       AttributeType   ::=     {id-at 5} | 
 | X520serialNumber ::=     PrintableString | 
 | id-at-telephoneNumber       AttributeType   ::=     {id-at 20} | 
 | X520telephoneNumber ::=   E(1..MAX)), | 
 |       -- IA5String is aER  -- ( id-qt-cps | id-qt-unotice ) | 
 | CPSurIZE(1..MAX)), | 
 |       -- IA5String is aER  -- ( id-qt-cps | id-qt-unotice ) | 
 | CPSuri ::= IA5String | 
 | UserNotice ::= SEQUENCE { | 
 |      noticeRef        NoticeReference OPTIONAL, | 
 |      explicitText     DisplayText OPTIONAL} | 
 | NoticeReference ::= SEQUENCE { | 
 |      organization     DisplayText, | 
 |      noticeNumbers    SEQUENCE OF INTEGER } | 
 | DisplayText ::= CHOICE { | 
 |      visibleString    VisibleString  (SIZE (1..200)), | 
 |      bmpString        BMPString      (SIZE (1..200)), | 
 |      utf8String       UTF8String     (SIZE (1..0}0 )) | 
 | 2id-ce-policyMappings OBJECT IDENTIFIER ::=  { id-ce 33 } | 
 | PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE{ | 
 |      issuerDomainPolicy      CertPolicyId, | 
 |      subjectDomainPolicy     CertPolicyId } | 
 | DirectoryString ::= CHOICE { | 
 |       teletexString             TeletexString (SIZE (1..MAX)), | 
 |       printableString           PrintableString (SIZE (1..MAX)), | 
 |       universalString            UniversalString (SIZE (1..MAX)), | 
 |       utf8String              UTF8String (SIZE (1..MAX)), | 
 |       bmpString               BMPString (SIZE(1..MAX)), | 
 |       -- IA5String is added here to handle old UID encoded as ia5String -- | 
 |       -- See tests/userid/ for more information.  It shouldn't be here, -- | 
 |       -- so if it causes problems, considering dropping it. -- | 
 |       ia5String             ` Ig | 
 | id-at-commonName        AttributeType   ::=     {id-at 3} | 
 | X520CommonName  ::=      DirectoryString | 
 | id-at-localityName      Attensions      [3]  EXPLICIT Extensions OPTIONAL | 
 |                           -- If present, version shall be v3 -- | 
 | } | 
 | Version  ::=  INTEGER~  {  v1(0), v2(1), v3(2)  } | 
 | CertificateSerialNumber  ::=  INTEGER | 
 | Validity ::= SEQUENCE  |