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