162306a36Sopenharmony_ciCertificate ::= SEQUENCE {
262306a36Sopenharmony_ci	tbsCertificate		TBSCertificate ({ x509_note_tbs_certificate }),
362306a36Sopenharmony_ci	signatureAlgorithm	AlgorithmIdentifier,
462306a36Sopenharmony_ci	signature		BIT STRING ({ x509_note_signature })
562306a36Sopenharmony_ci	}
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciTBSCertificate ::= SEQUENCE {
862306a36Sopenharmony_ci	version           [ 0 ]	Version DEFAULT,
962306a36Sopenharmony_ci	serialNumber		CertificateSerialNumber ({ x509_note_serial }),
1062306a36Sopenharmony_ci	signature		AlgorithmIdentifier ({ x509_note_sig_algo }),
1162306a36Sopenharmony_ci	issuer			Name ({ x509_note_issuer }),
1262306a36Sopenharmony_ci	validity		Validity,
1362306a36Sopenharmony_ci	subject			Name ({ x509_note_subject }),
1462306a36Sopenharmony_ci	subjectPublicKeyInfo	SubjectPublicKeyInfo,
1562306a36Sopenharmony_ci	issuerUniqueID    [ 1 ]	IMPLICIT UniqueIdentifier OPTIONAL,
1662306a36Sopenharmony_ci	subjectUniqueID   [ 2 ]	IMPLICIT UniqueIdentifier OPTIONAL,
1762306a36Sopenharmony_ci	extensions        [ 3 ]	Extensions OPTIONAL
1862306a36Sopenharmony_ci	}
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciVersion ::= INTEGER
2162306a36Sopenharmony_ciCertificateSerialNumber ::= INTEGER
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciAlgorithmIdentifier ::= SEQUENCE {
2462306a36Sopenharmony_ci	algorithm		OBJECT IDENTIFIER ({ x509_note_OID }),
2562306a36Sopenharmony_ci	parameters		ANY OPTIONAL ({ x509_note_params })
2662306a36Sopenharmony_ci}
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciName ::= SEQUENCE OF RelativeDistinguishedName
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciRelativeDistinguishedName ::= SET OF AttributeValueAssertion
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciAttributeValueAssertion ::= SEQUENCE {
3362306a36Sopenharmony_ci	attributeType		OBJECT IDENTIFIER ({ x509_note_OID }),
3462306a36Sopenharmony_ci	attributeValue		ANY ({ x509_extract_name_segment })
3562306a36Sopenharmony_ci	}
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciValidity ::= SEQUENCE {
3862306a36Sopenharmony_ci	notBefore		Time ({ x509_note_not_before }),
3962306a36Sopenharmony_ci	notAfter		Time ({ x509_note_not_after })
4062306a36Sopenharmony_ci	}
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciTime ::= CHOICE {
4362306a36Sopenharmony_ci	utcTime			UTCTime,
4462306a36Sopenharmony_ci	generalTime		GeneralizedTime
4562306a36Sopenharmony_ci	}
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciSubjectPublicKeyInfo ::= SEQUENCE {
4862306a36Sopenharmony_ci	algorithm		AlgorithmIdentifier,
4962306a36Sopenharmony_ci	subjectPublicKey	BIT STRING ({ x509_extract_key_data })
5062306a36Sopenharmony_ci	}
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciUniqueIdentifier ::= BIT STRING
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciExtensions ::= SEQUENCE OF Extension
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciExtension ::= SEQUENCE {
5762306a36Sopenharmony_ci	extnid			OBJECT IDENTIFIER ({ x509_note_OID }),
5862306a36Sopenharmony_ci	critical		BOOLEAN DEFAULT,
5962306a36Sopenharmony_ci	extnValue		OCTET STRING ({ x509_process_extension })
6062306a36Sopenharmony_ci	}
61