18c2ecf20Sopenharmony_ciCertificate ::= SEQUENCE {
28c2ecf20Sopenharmony_ci	tbsCertificate		TBSCertificate ({ x509_note_tbs_certificate }),
38c2ecf20Sopenharmony_ci	signatureAlgorithm	AlgorithmIdentifier,
48c2ecf20Sopenharmony_ci	signature		BIT STRING ({ x509_note_signature })
58c2ecf20Sopenharmony_ci	}
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciTBSCertificate ::= SEQUENCE {
88c2ecf20Sopenharmony_ci	version           [ 0 ]	Version DEFAULT,
98c2ecf20Sopenharmony_ci	serialNumber		CertificateSerialNumber ({ x509_note_serial }),
108c2ecf20Sopenharmony_ci	signature		AlgorithmIdentifier ({ x509_note_pkey_algo }),
118c2ecf20Sopenharmony_ci	issuer			Name ({ x509_note_issuer }),
128c2ecf20Sopenharmony_ci	validity		Validity,
138c2ecf20Sopenharmony_ci	subject			Name ({ x509_note_subject }),
148c2ecf20Sopenharmony_ci	subjectPublicKeyInfo	SubjectPublicKeyInfo,
158c2ecf20Sopenharmony_ci	issuerUniqueID    [ 1 ]	IMPLICIT UniqueIdentifier OPTIONAL,
168c2ecf20Sopenharmony_ci	subjectUniqueID   [ 2 ]	IMPLICIT UniqueIdentifier OPTIONAL,
178c2ecf20Sopenharmony_ci	extensions        [ 3 ]	Extensions OPTIONAL
188c2ecf20Sopenharmony_ci	}
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciVersion ::= INTEGER
218c2ecf20Sopenharmony_ciCertificateSerialNumber ::= INTEGER
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciAlgorithmIdentifier ::= SEQUENCE {
248c2ecf20Sopenharmony_ci	algorithm		OBJECT IDENTIFIER ({ x509_note_OID }),
258c2ecf20Sopenharmony_ci	parameters		ANY OPTIONAL ({ x509_note_params })
268c2ecf20Sopenharmony_ci}
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciName ::= SEQUENCE OF RelativeDistinguishedName
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciRelativeDistinguishedName ::= SET OF AttributeValueAssertion
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciAttributeValueAssertion ::= SEQUENCE {
338c2ecf20Sopenharmony_ci	attributeType		OBJECT IDENTIFIER ({ x509_note_OID }),
348c2ecf20Sopenharmony_ci	attributeValue		ANY ({ x509_extract_name_segment })
358c2ecf20Sopenharmony_ci	}
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciValidity ::= SEQUENCE {
388c2ecf20Sopenharmony_ci	notBefore		Time ({ x509_note_not_before }),
398c2ecf20Sopenharmony_ci	notAfter		Time ({ x509_note_not_after })
408c2ecf20Sopenharmony_ci	}
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciTime ::= CHOICE {
438c2ecf20Sopenharmony_ci	utcTime			UTCTime,
448c2ecf20Sopenharmony_ci	generalTime		GeneralizedTime
458c2ecf20Sopenharmony_ci	}
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciSubjectPublicKeyInfo ::= SEQUENCE {
488c2ecf20Sopenharmony_ci	algorithm		AlgorithmIdentifier,
498c2ecf20Sopenharmony_ci	subjectPublicKey	BIT STRING ({ x509_extract_key_data })
508c2ecf20Sopenharmony_ci	}
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciUniqueIdentifier ::= BIT STRING
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciExtensions ::= SEQUENCE OF Extension
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciExtension ::= SEQUENCE {
578c2ecf20Sopenharmony_ci	extnid			OBJECT IDENTIFIER ({ x509_note_OID }),
588c2ecf20Sopenharmony_ci	critical		BOOLEAN DEFAULT,
598c2ecf20Sopenharmony_ci	extnValue		OCTET STRING ({ x509_process_extension })
608c2ecf20Sopenharmony_ci	}
61