1*4882a593SmuzhiyunCertificate ::= SEQUENCE { 2*4882a593Smuzhiyun tbsCertificate TBSCertificate ({ x509_note_tbs_certificate }), 3*4882a593Smuzhiyun signatureAlgorithm AlgorithmIdentifier, 4*4882a593Smuzhiyun signature BIT STRING ({ x509_note_signature }) 5*4882a593Smuzhiyun } 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunTBSCertificate ::= SEQUENCE { 8*4882a593Smuzhiyun version [ 0 ] Version DEFAULT, 9*4882a593Smuzhiyun serialNumber CertificateSerialNumber ({ x509_note_serial }), 10*4882a593Smuzhiyun signature AlgorithmIdentifier ({ x509_note_pkey_algo }), 11*4882a593Smuzhiyun issuer Name ({ x509_note_issuer }), 12*4882a593Smuzhiyun validity Validity, 13*4882a593Smuzhiyun subject Name ({ x509_note_subject }), 14*4882a593Smuzhiyun subjectPublicKeyInfo SubjectPublicKeyInfo, 15*4882a593Smuzhiyun issuerUniqueID [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL, 16*4882a593Smuzhiyun subjectUniqueID [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL, 17*4882a593Smuzhiyun extensions [ 3 ] Extensions OPTIONAL 18*4882a593Smuzhiyun } 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunVersion ::= INTEGER 21*4882a593SmuzhiyunCertificateSerialNumber ::= INTEGER 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunAlgorithmIdentifier ::= SEQUENCE { 24*4882a593Smuzhiyun algorithm OBJECT IDENTIFIER ({ x509_note_OID }), 25*4882a593Smuzhiyun parameters ANY OPTIONAL ({ x509_note_params }) 26*4882a593Smuzhiyun} 27*4882a593Smuzhiyun 28*4882a593SmuzhiyunName ::= SEQUENCE OF RelativeDistinguishedName 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunRelativeDistinguishedName ::= SET OF AttributeValueAssertion 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunAttributeValueAssertion ::= SEQUENCE { 33*4882a593Smuzhiyun attributeType OBJECT IDENTIFIER ({ x509_note_OID }), 34*4882a593Smuzhiyun attributeValue ANY ({ x509_extract_name_segment }) 35*4882a593Smuzhiyun } 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunValidity ::= SEQUENCE { 38*4882a593Smuzhiyun notBefore Time ({ x509_note_not_before }), 39*4882a593Smuzhiyun notAfter Time ({ x509_note_not_after }) 40*4882a593Smuzhiyun } 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunTime ::= CHOICE { 43*4882a593Smuzhiyun utcTime UTCTime, 44*4882a593Smuzhiyun generalTime GeneralizedTime 45*4882a593Smuzhiyun } 46*4882a593Smuzhiyun 47*4882a593SmuzhiyunSubjectPublicKeyInfo ::= SEQUENCE { 48*4882a593Smuzhiyun algorithm AlgorithmIdentifier, 49*4882a593Smuzhiyun subjectPublicKey BIT STRING ({ x509_extract_key_data }) 50*4882a593Smuzhiyun } 51*4882a593Smuzhiyun 52*4882a593SmuzhiyunUniqueIdentifier ::= BIT STRING 53*4882a593Smuzhiyun 54*4882a593SmuzhiyunExtensions ::= SEQUENCE OF Extension 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunExtension ::= SEQUENCE { 57*4882a593Smuzhiyun extnid OBJECT IDENTIFIER ({ x509_note_OID }), 58*4882a593Smuzhiyun critical BOOLEAN DEFAULT, 59*4882a593Smuzhiyun extnValue OCTET STRING ({ x509_process_extension }) 60*4882a593Smuzhiyun } 61