0001 Certificate ::= SEQUENCE {
0002 tbsCertificate TBSCertificate ({ x509_note_tbs_certificate }),
0003 signatureAlgorithm AlgorithmIdentifier,
0004 signature BIT STRING ({ x509_note_signature })
0005 }
0006
0007 TBSCertificate ::= SEQUENCE {
0008 version [ 0 ] Version DEFAULT,
0009 serialNumber CertificateSerialNumber ({ x509_note_serial }),
0010 signature AlgorithmIdentifier ({ x509_note_sig_algo }),
0011 issuer Name ({ x509_note_issuer }),
0012 validity Validity,
0013 subject Name ({ x509_note_subject }),
0014 subjectPublicKeyInfo SubjectPublicKeyInfo,
0015 issuerUniqueID [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
0016 subjectUniqueID [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
0017 extensions [ 3 ] Extensions OPTIONAL
0018 }
0019
0020 Version ::= INTEGER
0021 CertificateSerialNumber ::= INTEGER
0022
0023 AlgorithmIdentifier ::= SEQUENCE {
0024 algorithm OBJECT IDENTIFIER ({ x509_note_OID }),
0025 parameters ANY OPTIONAL ({ x509_note_params })
0026 }
0027
0028 Name ::= SEQUENCE OF RelativeDistinguishedName
0029
0030 RelativeDistinguishedName ::= SET OF AttributeValueAssertion
0031
0032 AttributeValueAssertion ::= SEQUENCE {
0033 attributeType OBJECT IDENTIFIER ({ x509_note_OID }),
0034 attributeValue ANY ({ x509_extract_name_segment })
0035 }
0036
0037 Validity ::= SEQUENCE {
0038 notBefore Time ({ x509_note_not_before }),
0039 notAfter Time ({ x509_note_not_after })
0040 }
0041
0042 Time ::= CHOICE {
0043 utcTime UTCTime,
0044 generalTime GeneralizedTime
0045 }
0046
0047 SubjectPublicKeyInfo ::= SEQUENCE {
0048 algorithm AlgorithmIdentifier,
0049 subjectPublicKey BIT STRING ({ x509_extract_key_data })
0050 }
0051
0052 UniqueIdentifier ::= BIT STRING
0053
0054 Extensions ::= SEQUENCE OF Extension
0055
0056 Extension ::= SEQUENCE {
0057 extnid OBJECT IDENTIFIER ({ x509_note_OID }),
0058 critical BOOLEAN DEFAULT,
0059 extnValue OCTET STRING ({ x509_process_extension })
0060 }