1c26fd69fSDavid HowellsCertificate ::= SEQUENCE { 2c26fd69fSDavid Howells tbsCertificate TBSCertificate ({ x509_note_tbs_certificate }), 3c26fd69fSDavid Howells signatureAlgorithm AlgorithmIdentifier, 4c26fd69fSDavid Howells signature BIT STRING ({ x509_note_signature }) 5c26fd69fSDavid Howells } 6c26fd69fSDavid Howells 7c26fd69fSDavid HowellsTBSCertificate ::= SEQUENCE { 8c26fd69fSDavid Howells version [ 0 ] Version DEFAULT, 984aabd46SDavid Howells serialNumber CertificateSerialNumber ({ x509_note_serial }), 10*8f2a7b51SEric Biggers signature AlgorithmIdentifier ({ x509_note_sig_algo }), 11c26fd69fSDavid Howells issuer Name ({ x509_note_issuer }), 12c26fd69fSDavid Howells validity Validity, 13c26fd69fSDavid Howells subject Name ({ x509_note_subject }), 14c26fd69fSDavid Howells subjectPublicKeyInfo SubjectPublicKeyInfo, 15c26fd69fSDavid Howells issuerUniqueID [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL, 16c26fd69fSDavid Howells subjectUniqueID [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL, 17c26fd69fSDavid Howells extensions [ 3 ] Extensions OPTIONAL 18c26fd69fSDavid Howells } 19c26fd69fSDavid Howells 20c26fd69fSDavid HowellsVersion ::= INTEGER 21c26fd69fSDavid HowellsCertificateSerialNumber ::= INTEGER 22c26fd69fSDavid Howells 23c26fd69fSDavid HowellsAlgorithmIdentifier ::= SEQUENCE { 24c26fd69fSDavid Howells algorithm OBJECT IDENTIFIER ({ x509_note_OID }), 25f1774cb8SVitaly Chikunov parameters ANY OPTIONAL ({ x509_note_params }) 26c26fd69fSDavid Howells} 27c26fd69fSDavid Howells 28c26fd69fSDavid HowellsName ::= SEQUENCE OF RelativeDistinguishedName 29c26fd69fSDavid Howells 30c26fd69fSDavid HowellsRelativeDistinguishedName ::= SET OF AttributeValueAssertion 31c26fd69fSDavid Howells 32c26fd69fSDavid HowellsAttributeValueAssertion ::= SEQUENCE { 33c26fd69fSDavid Howells attributeType OBJECT IDENTIFIER ({ x509_note_OID }), 34c26fd69fSDavid Howells attributeValue ANY ({ x509_extract_name_segment }) 35c26fd69fSDavid Howells } 36c26fd69fSDavid Howells 37c26fd69fSDavid HowellsValidity ::= SEQUENCE { 38c26fd69fSDavid Howells notBefore Time ({ x509_note_not_before }), 39c26fd69fSDavid Howells notAfter Time ({ x509_note_not_after }) 40c26fd69fSDavid Howells } 41c26fd69fSDavid Howells 42c26fd69fSDavid HowellsTime ::= CHOICE { 43c26fd69fSDavid Howells utcTime UTCTime, 44c26fd69fSDavid Howells generalTime GeneralizedTime 45c26fd69fSDavid Howells } 46c26fd69fSDavid Howells 47c26fd69fSDavid HowellsSubjectPublicKeyInfo ::= SEQUENCE { 48c26fd69fSDavid Howells algorithm AlgorithmIdentifier, 49c26fd69fSDavid Howells subjectPublicKey BIT STRING ({ x509_extract_key_data }) 50c26fd69fSDavid Howells } 51c26fd69fSDavid Howells 52c26fd69fSDavid HowellsUniqueIdentifier ::= BIT STRING 53c26fd69fSDavid Howells 54c26fd69fSDavid HowellsExtensions ::= SEQUENCE OF Extension 55c26fd69fSDavid Howells 56c26fd69fSDavid HowellsExtension ::= SEQUENCE { 57c26fd69fSDavid Howells extnid OBJECT IDENTIFIER ({ x509_note_OID }), 58c26fd69fSDavid Howells critical BOOLEAN DEFAULT, 59c26fd69fSDavid Howells extnValue OCTET STRING ({ x509_process_extension }) 60c26fd69fSDavid Howells } 61