x509.asn1 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. Certificate ::= SEQUENCE {
  2. tbsCertificate TBSCertificate ({ x509_note_tbs_certificate }),
  3. signatureAlgorithm AlgorithmIdentifier,
  4. signature BIT STRING ({ x509_note_signature })
  5. }
  6. TBSCertificate ::= SEQUENCE {
  7. version [ 0 ] Version DEFAULT,
  8. serialNumber CertificateSerialNumber ({ x509_note_serial }),
  9. signature AlgorithmIdentifier ({ x509_note_pkey_algo }),
  10. issuer Name ({ x509_note_issuer }),
  11. validity Validity,
  12. subject Name ({ x509_note_subject }),
  13. subjectPublicKeyInfo SubjectPublicKeyInfo,
  14. issuerUniqueID [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
  15. subjectUniqueID [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
  16. extensions [ 3 ] Extensions OPTIONAL
  17. }
  18. Version ::= INTEGER
  19. CertificateSerialNumber ::= INTEGER
  20. AlgorithmIdentifier ::= SEQUENCE {
  21. algorithm OBJECT IDENTIFIER ({ x509_note_OID }),
  22. parameters ANY OPTIONAL
  23. }
  24. Name ::= SEQUENCE OF RelativeDistinguishedName
  25. RelativeDistinguishedName ::= SET OF AttributeValueAssertion
  26. AttributeValueAssertion ::= SEQUENCE {
  27. attributeType OBJECT IDENTIFIER ({ x509_note_OID }),
  28. attributeValue ANY ({ x509_extract_name_segment })
  29. }
  30. Validity ::= SEQUENCE {
  31. notBefore Time ({ x509_note_not_before }),
  32. notAfter Time ({ x509_note_not_after })
  33. }
  34. Time ::= CHOICE {
  35. utcTime UTCTime,
  36. generalTime GeneralizedTime
  37. }
  38. SubjectPublicKeyInfo ::= SEQUENCE {
  39. algorithm AlgorithmIdentifier,
  40. subjectPublicKey BIT STRING ({ x509_extract_key_data })
  41. }
  42. UniqueIdentifier ::= BIT STRING
  43. Extensions ::= SEQUENCE OF Extension
  44. Extension ::= SEQUENCE {
  45. extnid OBJECT IDENTIFIER ({ x509_note_OID }),
  46. critical BOOLEAN DEFAULT,
  47. extnValue OCTET STRING ({ x509_process_extension })
  48. }