__init__.py 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. # This file is dual licensed under the terms of the Apache License, Version
  2. # 2.0, and the BSD License. See the LICENSE file in the root of this repository
  3. # for complete details.
  4. from __future__ import annotations
  5. from cryptography.x509 import certificate_transparency, verification
  6. from cryptography.x509.base import (
  7. Attribute,
  8. AttributeNotFound,
  9. Attributes,
  10. Certificate,
  11. CertificateBuilder,
  12. CertificateRevocationList,
  13. CertificateRevocationListBuilder,
  14. CertificateSigningRequest,
  15. CertificateSigningRequestBuilder,
  16. InvalidVersion,
  17. RevokedCertificate,
  18. RevokedCertificateBuilder,
  19. Version,
  20. load_der_x509_certificate,
  21. load_der_x509_crl,
  22. load_der_x509_csr,
  23. load_pem_x509_certificate,
  24. load_pem_x509_certificates,
  25. load_pem_x509_crl,
  26. load_pem_x509_csr,
  27. random_serial_number,
  28. )
  29. from cryptography.x509.extensions import (
  30. AccessDescription,
  31. Admission,
  32. Admissions,
  33. AuthorityInformationAccess,
  34. AuthorityKeyIdentifier,
  35. BasicConstraints,
  36. CertificateIssuer,
  37. CertificatePolicies,
  38. CRLDistributionPoints,
  39. CRLNumber,
  40. CRLReason,
  41. DeltaCRLIndicator,
  42. DistributionPoint,
  43. DuplicateExtension,
  44. ExtendedKeyUsage,
  45. Extension,
  46. ExtensionNotFound,
  47. Extensions,
  48. ExtensionType,
  49. FreshestCRL,
  50. GeneralNames,
  51. InhibitAnyPolicy,
  52. InvalidityDate,
  53. IssuerAlternativeName,
  54. IssuingDistributionPoint,
  55. KeyUsage,
  56. MSCertificateTemplate,
  57. NameConstraints,
  58. NamingAuthority,
  59. NoticeReference,
  60. OCSPAcceptableResponses,
  61. OCSPNoCheck,
  62. OCSPNonce,
  63. PolicyConstraints,
  64. PolicyInformation,
  65. PrecertificateSignedCertificateTimestamps,
  66. PrecertPoison,
  67. PrivateKeyUsagePeriod,
  68. ProfessionInfo,
  69. ReasonFlags,
  70. SignedCertificateTimestamps,
  71. SubjectAlternativeName,
  72. SubjectInformationAccess,
  73. SubjectKeyIdentifier,
  74. TLSFeature,
  75. TLSFeatureType,
  76. UnrecognizedExtension,
  77. UserNotice,
  78. )
  79. from cryptography.x509.general_name import (
  80. DirectoryName,
  81. DNSName,
  82. GeneralName,
  83. IPAddress,
  84. OtherName,
  85. RegisteredID,
  86. RFC822Name,
  87. UniformResourceIdentifier,
  88. UnsupportedGeneralNameType,
  89. )
  90. from cryptography.x509.name import (
  91. Name,
  92. NameAttribute,
  93. RelativeDistinguishedName,
  94. )
  95. from cryptography.x509.oid import (
  96. AuthorityInformationAccessOID,
  97. CertificatePoliciesOID,
  98. CRLEntryExtensionOID,
  99. ExtendedKeyUsageOID,
  100. ExtensionOID,
  101. NameOID,
  102. ObjectIdentifier,
  103. PublicKeyAlgorithmOID,
  104. SignatureAlgorithmOID,
  105. )
  106. OID_AUTHORITY_INFORMATION_ACCESS = ExtensionOID.AUTHORITY_INFORMATION_ACCESS
  107. OID_AUTHORITY_KEY_IDENTIFIER = ExtensionOID.AUTHORITY_KEY_IDENTIFIER
  108. OID_BASIC_CONSTRAINTS = ExtensionOID.BASIC_CONSTRAINTS
  109. OID_CERTIFICATE_POLICIES = ExtensionOID.CERTIFICATE_POLICIES
  110. OID_CRL_DISTRIBUTION_POINTS = ExtensionOID.CRL_DISTRIBUTION_POINTS
  111. OID_EXTENDED_KEY_USAGE = ExtensionOID.EXTENDED_KEY_USAGE
  112. OID_FRESHEST_CRL = ExtensionOID.FRESHEST_CRL
  113. OID_INHIBIT_ANY_POLICY = ExtensionOID.INHIBIT_ANY_POLICY
  114. OID_ISSUER_ALTERNATIVE_NAME = ExtensionOID.ISSUER_ALTERNATIVE_NAME
  115. OID_KEY_USAGE = ExtensionOID.KEY_USAGE
  116. OID_PRIVATE_KEY_USAGE_PERIOD = ExtensionOID.PRIVATE_KEY_USAGE_PERIOD
  117. OID_NAME_CONSTRAINTS = ExtensionOID.NAME_CONSTRAINTS
  118. OID_OCSP_NO_CHECK = ExtensionOID.OCSP_NO_CHECK
  119. OID_POLICY_CONSTRAINTS = ExtensionOID.POLICY_CONSTRAINTS
  120. OID_POLICY_MAPPINGS = ExtensionOID.POLICY_MAPPINGS
  121. OID_SUBJECT_ALTERNATIVE_NAME = ExtensionOID.SUBJECT_ALTERNATIVE_NAME
  122. OID_SUBJECT_DIRECTORY_ATTRIBUTES = ExtensionOID.SUBJECT_DIRECTORY_ATTRIBUTES
  123. OID_SUBJECT_INFORMATION_ACCESS = ExtensionOID.SUBJECT_INFORMATION_ACCESS
  124. OID_SUBJECT_KEY_IDENTIFIER = ExtensionOID.SUBJECT_KEY_IDENTIFIER
  125. OID_DSA_WITH_SHA1 = SignatureAlgorithmOID.DSA_WITH_SHA1
  126. OID_DSA_WITH_SHA224 = SignatureAlgorithmOID.DSA_WITH_SHA224
  127. OID_DSA_WITH_SHA256 = SignatureAlgorithmOID.DSA_WITH_SHA256
  128. OID_ECDSA_WITH_SHA1 = SignatureAlgorithmOID.ECDSA_WITH_SHA1
  129. OID_ECDSA_WITH_SHA224 = SignatureAlgorithmOID.ECDSA_WITH_SHA224
  130. OID_ECDSA_WITH_SHA256 = SignatureAlgorithmOID.ECDSA_WITH_SHA256
  131. OID_ECDSA_WITH_SHA384 = SignatureAlgorithmOID.ECDSA_WITH_SHA384
  132. OID_ECDSA_WITH_SHA512 = SignatureAlgorithmOID.ECDSA_WITH_SHA512
  133. OID_RSA_WITH_MD5 = SignatureAlgorithmOID.RSA_WITH_MD5
  134. OID_RSA_WITH_SHA1 = SignatureAlgorithmOID.RSA_WITH_SHA1
  135. OID_RSA_WITH_SHA224 = SignatureAlgorithmOID.RSA_WITH_SHA224
  136. OID_RSA_WITH_SHA256 = SignatureAlgorithmOID.RSA_WITH_SHA256
  137. OID_RSA_WITH_SHA384 = SignatureAlgorithmOID.RSA_WITH_SHA384
  138. OID_RSA_WITH_SHA512 = SignatureAlgorithmOID.RSA_WITH_SHA512
  139. OID_RSASSA_PSS = SignatureAlgorithmOID.RSASSA_PSS
  140. OID_COMMON_NAME = NameOID.COMMON_NAME
  141. OID_COUNTRY_NAME = NameOID.COUNTRY_NAME
  142. OID_DOMAIN_COMPONENT = NameOID.DOMAIN_COMPONENT
  143. OID_DN_QUALIFIER = NameOID.DN_QUALIFIER
  144. OID_EMAIL_ADDRESS = NameOID.EMAIL_ADDRESS
  145. OID_GENERATION_QUALIFIER = NameOID.GENERATION_QUALIFIER
  146. OID_GIVEN_NAME = NameOID.GIVEN_NAME
  147. OID_LOCALITY_NAME = NameOID.LOCALITY_NAME
  148. OID_ORGANIZATIONAL_UNIT_NAME = NameOID.ORGANIZATIONAL_UNIT_NAME
  149. OID_ORGANIZATION_NAME = NameOID.ORGANIZATION_NAME
  150. OID_PSEUDONYM = NameOID.PSEUDONYM
  151. OID_SERIAL_NUMBER = NameOID.SERIAL_NUMBER
  152. OID_STATE_OR_PROVINCE_NAME = NameOID.STATE_OR_PROVINCE_NAME
  153. OID_SURNAME = NameOID.SURNAME
  154. OID_TITLE = NameOID.TITLE
  155. OID_CLIENT_AUTH = ExtendedKeyUsageOID.CLIENT_AUTH
  156. OID_CODE_SIGNING = ExtendedKeyUsageOID.CODE_SIGNING
  157. OID_EMAIL_PROTECTION = ExtendedKeyUsageOID.EMAIL_PROTECTION
  158. OID_OCSP_SIGNING = ExtendedKeyUsageOID.OCSP_SIGNING
  159. OID_SERVER_AUTH = ExtendedKeyUsageOID.SERVER_AUTH
  160. OID_TIME_STAMPING = ExtendedKeyUsageOID.TIME_STAMPING
  161. OID_ANY_POLICY = CertificatePoliciesOID.ANY_POLICY
  162. OID_CPS_QUALIFIER = CertificatePoliciesOID.CPS_QUALIFIER
  163. OID_CPS_USER_NOTICE = CertificatePoliciesOID.CPS_USER_NOTICE
  164. OID_CERTIFICATE_ISSUER = CRLEntryExtensionOID.CERTIFICATE_ISSUER
  165. OID_CRL_REASON = CRLEntryExtensionOID.CRL_REASON
  166. OID_INVALIDITY_DATE = CRLEntryExtensionOID.INVALIDITY_DATE
  167. OID_CA_ISSUERS = AuthorityInformationAccessOID.CA_ISSUERS
  168. OID_OCSP = AuthorityInformationAccessOID.OCSP
  169. __all__ = [
  170. "OID_CA_ISSUERS",
  171. "OID_OCSP",
  172. "AccessDescription",
  173. "Admission",
  174. "Admissions",
  175. "Attribute",
  176. "AttributeNotFound",
  177. "Attributes",
  178. "AuthorityInformationAccess",
  179. "AuthorityKeyIdentifier",
  180. "BasicConstraints",
  181. "CRLDistributionPoints",
  182. "CRLNumber",
  183. "CRLReason",
  184. "Certificate",
  185. "CertificateBuilder",
  186. "CertificateIssuer",
  187. "CertificatePolicies",
  188. "CertificateRevocationList",
  189. "CertificateRevocationListBuilder",
  190. "CertificateSigningRequest",
  191. "CertificateSigningRequestBuilder",
  192. "DNSName",
  193. "DeltaCRLIndicator",
  194. "DirectoryName",
  195. "DistributionPoint",
  196. "DuplicateExtension",
  197. "ExtendedKeyUsage",
  198. "Extension",
  199. "ExtensionNotFound",
  200. "ExtensionType",
  201. "Extensions",
  202. "FreshestCRL",
  203. "GeneralName",
  204. "GeneralNames",
  205. "IPAddress",
  206. "InhibitAnyPolicy",
  207. "InvalidVersion",
  208. "InvalidityDate",
  209. "IssuerAlternativeName",
  210. "IssuingDistributionPoint",
  211. "KeyUsage",
  212. "MSCertificateTemplate",
  213. "Name",
  214. "NameAttribute",
  215. "NameConstraints",
  216. "NameOID",
  217. "NamingAuthority",
  218. "NoticeReference",
  219. "OCSPAcceptableResponses",
  220. "OCSPNoCheck",
  221. "OCSPNonce",
  222. "ObjectIdentifier",
  223. "OtherName",
  224. "PolicyConstraints",
  225. "PolicyInformation",
  226. "PrecertPoison",
  227. "PrecertificateSignedCertificateTimestamps",
  228. "PrivateKeyUsagePeriod",
  229. "ProfessionInfo",
  230. "PublicKeyAlgorithmOID",
  231. "RFC822Name",
  232. "ReasonFlags",
  233. "RegisteredID",
  234. "RelativeDistinguishedName",
  235. "RevokedCertificate",
  236. "RevokedCertificateBuilder",
  237. "SignatureAlgorithmOID",
  238. "SignedCertificateTimestamps",
  239. "SubjectAlternativeName",
  240. "SubjectInformationAccess",
  241. "SubjectKeyIdentifier",
  242. "TLSFeature",
  243. "TLSFeatureType",
  244. "UniformResourceIdentifier",
  245. "UnrecognizedExtension",
  246. "UnsupportedGeneralNameType",
  247. "UserNotice",
  248. "Version",
  249. "certificate_transparency",
  250. "load_der_x509_certificate",
  251. "load_der_x509_crl",
  252. "load_der_x509_csr",
  253. "load_pem_x509_certificate",
  254. "load_pem_x509_certificates",
  255. "load_pem_x509_crl",
  256. "load_pem_x509_csr",
  257. "random_serial_number",
  258. "verification",
  259. "verification",
  260. ]