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.hazmat.bindings._rust import (
8 ObjectIdentifier as ObjectIdentifier,
9)
10from cryptography.hazmat.primitives import hashes
11
12
13class ExtensionOID:
14 SUBJECT_DIRECTORY_ATTRIBUTES = ObjectIdentifier("2.5.29.9")
15 SUBJECT_KEY_IDENTIFIER = ObjectIdentifier("2.5.29.14")
16 KEY_USAGE = ObjectIdentifier("2.5.29.15")
17 PRIVATE_KEY_USAGE_PERIOD = ObjectIdentifier("2.5.29.16")
18 SUBJECT_ALTERNATIVE_NAME = ObjectIdentifier("2.5.29.17")
19 ISSUER_ALTERNATIVE_NAME = ObjectIdentifier("2.5.29.18")
20 BASIC_CONSTRAINTS = ObjectIdentifier("2.5.29.19")
21 NAME_CONSTRAINTS = ObjectIdentifier("2.5.29.30")
22 CRL_DISTRIBUTION_POINTS = ObjectIdentifier("2.5.29.31")
23 CERTIFICATE_POLICIES = ObjectIdentifier("2.5.29.32")
24 POLICY_MAPPINGS = ObjectIdentifier("2.5.29.33")
25 AUTHORITY_KEY_IDENTIFIER = ObjectIdentifier("2.5.29.35")
26 POLICY_CONSTRAINTS = ObjectIdentifier("2.5.29.36")
27 EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37")
28 FRESHEST_CRL = ObjectIdentifier("2.5.29.46")
29 INHIBIT_ANY_POLICY = ObjectIdentifier("2.5.29.54")
30 ISSUING_DISTRIBUTION_POINT = ObjectIdentifier("2.5.29.28")
31 AUTHORITY_INFORMATION_ACCESS = ObjectIdentifier("1.3.6.1.5.5.7.1.1")
32 SUBJECT_INFORMATION_ACCESS = ObjectIdentifier("1.3.6.1.5.5.7.1.11")
33 OCSP_NO_CHECK = ObjectIdentifier("1.3.6.1.5.5.7.48.1.5")
34 TLS_FEATURE = ObjectIdentifier("1.3.6.1.5.5.7.1.24")
35 CRL_NUMBER = ObjectIdentifier("2.5.29.20")
36 DELTA_CRL_INDICATOR = ObjectIdentifier("2.5.29.27")
37 PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier(
38 "1.3.6.1.4.1.11129.2.4.2"
39 )
40 PRECERT_POISON = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.3")
41 SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.5")
42 MS_CERTIFICATE_TEMPLATE = ObjectIdentifier("1.3.6.1.4.1.311.21.7")
43 ADMISSIONS = ObjectIdentifier("1.3.36.8.3.3")
44
45
46class OCSPExtensionOID:
47 NONCE = ObjectIdentifier("1.3.6.1.5.5.7.48.1.2")
48 ACCEPTABLE_RESPONSES = ObjectIdentifier("1.3.6.1.5.5.7.48.1.4")
49
50
51class CRLEntryExtensionOID:
52 CERTIFICATE_ISSUER = ObjectIdentifier("2.5.29.29")
53 CRL_REASON = ObjectIdentifier("2.5.29.21")
54 INVALIDITY_DATE = ObjectIdentifier("2.5.29.24")
55
56
57class NameOID:
58 COMMON_NAME = ObjectIdentifier("2.5.4.3")
59 COUNTRY_NAME = ObjectIdentifier("2.5.4.6")
60 LOCALITY_NAME = ObjectIdentifier("2.5.4.7")
61 STATE_OR_PROVINCE_NAME = ObjectIdentifier("2.5.4.8")
62 STREET_ADDRESS = ObjectIdentifier("2.5.4.9")
63 ORGANIZATION_IDENTIFIER = ObjectIdentifier("2.5.4.97")
64 ORGANIZATION_NAME = ObjectIdentifier("2.5.4.10")
65 ORGANIZATIONAL_UNIT_NAME = ObjectIdentifier("2.5.4.11")
66 SERIAL_NUMBER = ObjectIdentifier("2.5.4.5")
67 SURNAME = ObjectIdentifier("2.5.4.4")
68 GIVEN_NAME = ObjectIdentifier("2.5.4.42")
69 TITLE = ObjectIdentifier("2.5.4.12")
70 INITIALS = ObjectIdentifier("2.5.4.43")
71 GENERATION_QUALIFIER = ObjectIdentifier("2.5.4.44")
72 X500_UNIQUE_IDENTIFIER = ObjectIdentifier("2.5.4.45")
73 DN_QUALIFIER = ObjectIdentifier("2.5.4.46")
74 PSEUDONYM = ObjectIdentifier("2.5.4.65")
75 USER_ID = ObjectIdentifier("0.9.2342.19200300.100.1.1")
76 DOMAIN_COMPONENT = ObjectIdentifier("0.9.2342.19200300.100.1.25")
77 EMAIL_ADDRESS = ObjectIdentifier("1.2.840.113549.1.9.1")
78 JURISDICTION_COUNTRY_NAME = ObjectIdentifier("1.3.6.1.4.1.311.60.2.1.3")
79 JURISDICTION_LOCALITY_NAME = ObjectIdentifier("1.3.6.1.4.1.311.60.2.1.1")
80 JURISDICTION_STATE_OR_PROVINCE_NAME = ObjectIdentifier(
81 "1.3.6.1.4.1.311.60.2.1.2"
82 )
83 BUSINESS_CATEGORY = ObjectIdentifier("2.5.4.15")
84 POSTAL_ADDRESS = ObjectIdentifier("2.5.4.16")
85 POSTAL_CODE = ObjectIdentifier("2.5.4.17")
86 INN = ObjectIdentifier("1.2.643.3.131.1.1")
87 OGRN = ObjectIdentifier("1.2.643.100.1")
88 SNILS = ObjectIdentifier("1.2.643.100.3")
89 UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2")
90 UNSIGNED = ObjectIdentifier("1.3.6.1.5.5.7.25.1")
91
92
93class SignatureAlgorithmOID:
94 RSA_WITH_MD5 = ObjectIdentifier("1.2.840.113549.1.1.4")
95 RSA_WITH_SHA1 = ObjectIdentifier("1.2.840.113549.1.1.5")
96 # This is an alternate OID for RSA with SHA1 that is occasionally seen
97 _RSA_WITH_SHA1 = ObjectIdentifier("1.3.14.3.2.29")
98 RSA_WITH_SHA224 = ObjectIdentifier("1.2.840.113549.1.1.14")
99 RSA_WITH_SHA256 = ObjectIdentifier("1.2.840.113549.1.1.11")
100 RSA_WITH_SHA384 = ObjectIdentifier("1.2.840.113549.1.1.12")
101 RSA_WITH_SHA512 = ObjectIdentifier("1.2.840.113549.1.1.13")
102 RSA_WITH_SHA3_224 = ObjectIdentifier("2.16.840.1.101.3.4.3.13")
103 RSA_WITH_SHA3_256 = ObjectIdentifier("2.16.840.1.101.3.4.3.14")
104 RSA_WITH_SHA3_384 = ObjectIdentifier("2.16.840.1.101.3.4.3.15")
105 RSA_WITH_SHA3_512 = ObjectIdentifier("2.16.840.1.101.3.4.3.16")
106 RSASSA_PSS = ObjectIdentifier("1.2.840.113549.1.1.10")
107 ECDSA_WITH_SHA1 = ObjectIdentifier("1.2.840.10045.4.1")
108 ECDSA_WITH_SHA224 = ObjectIdentifier("1.2.840.10045.4.3.1")
109 ECDSA_WITH_SHA256 = ObjectIdentifier("1.2.840.10045.4.3.2")
110 ECDSA_WITH_SHA384 = ObjectIdentifier("1.2.840.10045.4.3.3")
111 ECDSA_WITH_SHA512 = ObjectIdentifier("1.2.840.10045.4.3.4")
112 ECDSA_WITH_SHA3_224 = ObjectIdentifier("2.16.840.1.101.3.4.3.9")
113 ECDSA_WITH_SHA3_256 = ObjectIdentifier("2.16.840.1.101.3.4.3.10")
114 ECDSA_WITH_SHA3_384 = ObjectIdentifier("2.16.840.1.101.3.4.3.11")
115 ECDSA_WITH_SHA3_512 = ObjectIdentifier("2.16.840.1.101.3.4.3.12")
116 DSA_WITH_SHA1 = ObjectIdentifier("1.2.840.10040.4.3")
117 DSA_WITH_SHA224 = ObjectIdentifier("2.16.840.1.101.3.4.3.1")
118 DSA_WITH_SHA256 = ObjectIdentifier("2.16.840.1.101.3.4.3.2")
119 DSA_WITH_SHA384 = ObjectIdentifier("2.16.840.1.101.3.4.3.3")
120 DSA_WITH_SHA512 = ObjectIdentifier("2.16.840.1.101.3.4.3.4")
121 ED25519 = ObjectIdentifier("1.3.101.112")
122 ED448 = ObjectIdentifier("1.3.101.113")
123 ML_DSA_44 = ObjectIdentifier("2.16.840.1.101.3.4.3.17")
124 ML_DSA_65 = ObjectIdentifier("2.16.840.1.101.3.4.3.18")
125 ML_DSA_87 = ObjectIdentifier("2.16.840.1.101.3.4.3.19")
126 GOSTR3411_94_WITH_3410_2001 = ObjectIdentifier("1.2.643.2.2.3")
127 GOSTR3410_2012_WITH_3411_2012_256 = ObjectIdentifier("1.2.643.7.1.1.3.2")
128 GOSTR3410_2012_WITH_3411_2012_512 = ObjectIdentifier("1.2.643.7.1.1.3.3")
129 UNSIGNED = ObjectIdentifier("1.3.6.1.5.5.7.6.36")
130
131
132_SIG_OIDS_TO_HASH: dict[ObjectIdentifier, hashes.HashAlgorithm | None] = {
133 SignatureAlgorithmOID.RSA_WITH_MD5: hashes.MD5(),
134 SignatureAlgorithmOID.RSA_WITH_SHA1: hashes.SHA1(),
135 SignatureAlgorithmOID._RSA_WITH_SHA1: hashes.SHA1(),
136 SignatureAlgorithmOID.RSA_WITH_SHA224: hashes.SHA224(),
137 SignatureAlgorithmOID.RSA_WITH_SHA256: hashes.SHA256(),
138 SignatureAlgorithmOID.RSA_WITH_SHA384: hashes.SHA384(),
139 SignatureAlgorithmOID.RSA_WITH_SHA512: hashes.SHA512(),
140 SignatureAlgorithmOID.RSA_WITH_SHA3_224: hashes.SHA3_224(),
141 SignatureAlgorithmOID.RSA_WITH_SHA3_256: hashes.SHA3_256(),
142 SignatureAlgorithmOID.RSA_WITH_SHA3_384: hashes.SHA3_384(),
143 SignatureAlgorithmOID.RSA_WITH_SHA3_512: hashes.SHA3_512(),
144 SignatureAlgorithmOID.ECDSA_WITH_SHA1: hashes.SHA1(),
145 SignatureAlgorithmOID.ECDSA_WITH_SHA224: hashes.SHA224(),
146 SignatureAlgorithmOID.ECDSA_WITH_SHA256: hashes.SHA256(),
147 SignatureAlgorithmOID.ECDSA_WITH_SHA384: hashes.SHA384(),
148 SignatureAlgorithmOID.ECDSA_WITH_SHA512: hashes.SHA512(),
149 SignatureAlgorithmOID.ECDSA_WITH_SHA3_224: hashes.SHA3_224(),
150 SignatureAlgorithmOID.ECDSA_WITH_SHA3_256: hashes.SHA3_256(),
151 SignatureAlgorithmOID.ECDSA_WITH_SHA3_384: hashes.SHA3_384(),
152 SignatureAlgorithmOID.ECDSA_WITH_SHA3_512: hashes.SHA3_512(),
153 SignatureAlgorithmOID.DSA_WITH_SHA1: hashes.SHA1(),
154 SignatureAlgorithmOID.DSA_WITH_SHA224: hashes.SHA224(),
155 SignatureAlgorithmOID.DSA_WITH_SHA256: hashes.SHA256(),
156 SignatureAlgorithmOID.ED25519: None,
157 SignatureAlgorithmOID.ED448: None,
158 SignatureAlgorithmOID.ML_DSA_44: None,
159 SignatureAlgorithmOID.ML_DSA_65: None,
160 SignatureAlgorithmOID.ML_DSA_87: None,
161 SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: None,
162 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: None,
163 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: None,
164 SignatureAlgorithmOID.UNSIGNED: None,
165}
166
167
168class HashAlgorithmOID:
169 SHA1 = ObjectIdentifier("1.3.14.3.2.26")
170 SHA224 = ObjectIdentifier("2.16.840.1.101.3.4.2.4")
171 SHA256 = ObjectIdentifier("2.16.840.1.101.3.4.2.1")
172 SHA384 = ObjectIdentifier("2.16.840.1.101.3.4.2.2")
173 SHA512 = ObjectIdentifier("2.16.840.1.101.3.4.2.3")
174 SHA3_224 = ObjectIdentifier("1.3.6.1.4.1.37476.3.2.1.99.7.224")
175 SHA3_256 = ObjectIdentifier("1.3.6.1.4.1.37476.3.2.1.99.7.256")
176 SHA3_384 = ObjectIdentifier("1.3.6.1.4.1.37476.3.2.1.99.7.384")
177 SHA3_512 = ObjectIdentifier("1.3.6.1.4.1.37476.3.2.1.99.7.512")
178 SHA3_224_NIST = ObjectIdentifier("2.16.840.1.101.3.4.2.7")
179 SHA3_256_NIST = ObjectIdentifier("2.16.840.1.101.3.4.2.8")
180 SHA3_384_NIST = ObjectIdentifier("2.16.840.1.101.3.4.2.9")
181 SHA3_512_NIST = ObjectIdentifier("2.16.840.1.101.3.4.2.10")
182
183
184class PublicKeyAlgorithmOID:
185 DSA = ObjectIdentifier("1.2.840.10040.4.1")
186 EC_PUBLIC_KEY = ObjectIdentifier("1.2.840.10045.2.1")
187 RSAES_PKCS1_v1_5 = ObjectIdentifier("1.2.840.113549.1.1.1")
188 RSASSA_PSS = ObjectIdentifier("1.2.840.113549.1.1.10")
189 X25519 = ObjectIdentifier("1.3.101.110")
190 X448 = ObjectIdentifier("1.3.101.111")
191 ED25519 = ObjectIdentifier("1.3.101.112")
192 ED448 = ObjectIdentifier("1.3.101.113")
193 ML_DSA_44 = ObjectIdentifier("2.16.840.1.101.3.4.3.17")
194 ML_DSA_65 = ObjectIdentifier("2.16.840.1.101.3.4.3.18")
195 ML_DSA_87 = ObjectIdentifier("2.16.840.1.101.3.4.3.19")
196 ML_KEM_768 = ObjectIdentifier("2.16.840.1.101.3.4.4.2")
197 ML_KEM_1024 = ObjectIdentifier("2.16.840.1.101.3.4.4.3")
198
199
200class ExtendedKeyUsageOID:
201 SERVER_AUTH = ObjectIdentifier("1.3.6.1.5.5.7.3.1")
202 CLIENT_AUTH = ObjectIdentifier("1.3.6.1.5.5.7.3.2")
203 CODE_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.3")
204 EMAIL_PROTECTION = ObjectIdentifier("1.3.6.1.5.5.7.3.4")
205 TIME_STAMPING = ObjectIdentifier("1.3.6.1.5.5.7.3.8")
206 OCSP_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.9")
207 ANY_EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37.0")
208 SMARTCARD_LOGON = ObjectIdentifier("1.3.6.1.4.1.311.20.2.2")
209 KERBEROS_PKINIT_KDC = ObjectIdentifier("1.3.6.1.5.2.3.5")
210 IPSEC_IKE = ObjectIdentifier("1.3.6.1.5.5.7.3.17")
211 BUNDLE_SECURITY = ObjectIdentifier("1.3.6.1.5.5.7.3.35")
212 CERTIFICATE_TRANSPARENCY = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.4")
213
214
215class OtherNameFormOID:
216 PERMANENT_IDENTIFIER = ObjectIdentifier("1.3.6.1.5.5.7.8.3")
217 HW_MODULE_NAME = ObjectIdentifier("1.3.6.1.5.5.7.8.4")
218 DNS_SRV = ObjectIdentifier("1.3.6.1.5.5.7.8.7")
219 NAI_REALM = ObjectIdentifier("1.3.6.1.5.5.7.8.8")
220 SMTP_UTF8_MAILBOX = ObjectIdentifier("1.3.6.1.5.5.7.8.9")
221 ACP_NODE_NAME = ObjectIdentifier("1.3.6.1.5.5.7.8.10")
222 BUNDLE_EID = ObjectIdentifier("1.3.6.1.5.5.7.8.11")
223
224
225class AuthorityInformationAccessOID:
226 CA_ISSUERS = ObjectIdentifier("1.3.6.1.5.5.7.48.2")
227 OCSP = ObjectIdentifier("1.3.6.1.5.5.7.48.1")
228
229
230class SubjectInformationAccessOID:
231 CA_REPOSITORY = ObjectIdentifier("1.3.6.1.5.5.7.48.5")
232
233
234class CertificatePoliciesOID:
235 CPS_QUALIFIER = ObjectIdentifier("1.3.6.1.5.5.7.2.1")
236 CPS_USER_NOTICE = ObjectIdentifier("1.3.6.1.5.5.7.2.2")
237 ANY_POLICY = ObjectIdentifier("2.5.29.32.0")
238
239
240class AttributeOID:
241 CHALLENGE_PASSWORD = ObjectIdentifier("1.2.840.113549.1.9.7")
242 UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2")
243
244
245_OID_NAMES = {
246 NameOID.COMMON_NAME: "commonName",
247 NameOID.COUNTRY_NAME: "countryName",
248 NameOID.LOCALITY_NAME: "localityName",
249 NameOID.STATE_OR_PROVINCE_NAME: "stateOrProvinceName",
250 NameOID.STREET_ADDRESS: "streetAddress",
251 NameOID.ORGANIZATION_NAME: "organizationName",
252 NameOID.ORGANIZATIONAL_UNIT_NAME: "organizationalUnitName",
253 NameOID.SERIAL_NUMBER: "serialNumber",
254 NameOID.SURNAME: "surname",
255 NameOID.GIVEN_NAME: "givenName",
256 NameOID.TITLE: "title",
257 NameOID.GENERATION_QUALIFIER: "generationQualifier",
258 NameOID.X500_UNIQUE_IDENTIFIER: "x500UniqueIdentifier",
259 NameOID.DN_QUALIFIER: "dnQualifier",
260 NameOID.PSEUDONYM: "pseudonym",
261 NameOID.USER_ID: "userID",
262 NameOID.DOMAIN_COMPONENT: "domainComponent",
263 NameOID.EMAIL_ADDRESS: "emailAddress",
264 NameOID.JURISDICTION_COUNTRY_NAME: "jurisdictionCountryName",
265 NameOID.JURISDICTION_LOCALITY_NAME: "jurisdictionLocalityName",
266 NameOID.JURISDICTION_STATE_OR_PROVINCE_NAME: (
267 "jurisdictionStateOrProvinceName"
268 ),
269 NameOID.BUSINESS_CATEGORY: "businessCategory",
270 NameOID.POSTAL_ADDRESS: "postalAddress",
271 NameOID.POSTAL_CODE: "postalCode",
272 NameOID.INN: "INN",
273 NameOID.OGRN: "OGRN",
274 NameOID.SNILS: "SNILS",
275 NameOID.UNSTRUCTURED_NAME: "unstructuredName",
276 SignatureAlgorithmOID.RSA_WITH_MD5: "md5WithRSAEncryption",
277 SignatureAlgorithmOID.RSA_WITH_SHA1: "sha1WithRSAEncryption",
278 SignatureAlgorithmOID.RSA_WITH_SHA224: "sha224WithRSAEncryption",
279 SignatureAlgorithmOID.RSA_WITH_SHA256: "sha256WithRSAEncryption",
280 SignatureAlgorithmOID.RSA_WITH_SHA384: "sha384WithRSAEncryption",
281 SignatureAlgorithmOID.RSA_WITH_SHA512: "sha512WithRSAEncryption",
282 SignatureAlgorithmOID.RSASSA_PSS: "rsassaPss",
283 SignatureAlgorithmOID.ECDSA_WITH_SHA1: "ecdsa-with-SHA1",
284 SignatureAlgorithmOID.ECDSA_WITH_SHA224: "ecdsa-with-SHA224",
285 SignatureAlgorithmOID.ECDSA_WITH_SHA256: "ecdsa-with-SHA256",
286 SignatureAlgorithmOID.ECDSA_WITH_SHA384: "ecdsa-with-SHA384",
287 SignatureAlgorithmOID.ECDSA_WITH_SHA512: "ecdsa-with-SHA512",
288 SignatureAlgorithmOID.DSA_WITH_SHA1: "dsa-with-sha1",
289 SignatureAlgorithmOID.DSA_WITH_SHA224: "dsa-with-sha224",
290 SignatureAlgorithmOID.DSA_WITH_SHA256: "dsa-with-sha256",
291 SignatureAlgorithmOID.ED25519: "ed25519",
292 SignatureAlgorithmOID.ED448: "ed448",
293 SignatureAlgorithmOID.ML_DSA_44: "ML-DSA-44",
294 SignatureAlgorithmOID.ML_DSA_65: "ML-DSA-65",
295 SignatureAlgorithmOID.ML_DSA_87: "ML-DSA-87",
296 SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: (
297 "GOST R 34.11-94 with GOST R 34.10-2001"
298 ),
299 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: (
300 "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)"
301 ),
302 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: (
303 "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)"
304 ),
305 HashAlgorithmOID.SHA1: "sha1",
306 HashAlgorithmOID.SHA224: "sha224",
307 HashAlgorithmOID.SHA256: "sha256",
308 HashAlgorithmOID.SHA384: "sha384",
309 HashAlgorithmOID.SHA512: "sha512",
310 HashAlgorithmOID.SHA3_224: "sha3_224",
311 HashAlgorithmOID.SHA3_256: "sha3_256",
312 HashAlgorithmOID.SHA3_384: "sha3_384",
313 HashAlgorithmOID.SHA3_512: "sha3_512",
314 HashAlgorithmOID.SHA3_224_NIST: "sha3_224",
315 HashAlgorithmOID.SHA3_256_NIST: "sha3_256",
316 HashAlgorithmOID.SHA3_384_NIST: "sha3_384",
317 HashAlgorithmOID.SHA3_512_NIST: "sha3_512",
318 PublicKeyAlgorithmOID.DSA: "dsaEncryption",
319 PublicKeyAlgorithmOID.EC_PUBLIC_KEY: "id-ecPublicKey",
320 PublicKeyAlgorithmOID.RSAES_PKCS1_v1_5: "rsaEncryption",
321 PublicKeyAlgorithmOID.X25519: "X25519",
322 PublicKeyAlgorithmOID.X448: "X448",
323 ExtendedKeyUsageOID.SERVER_AUTH: "serverAuth",
324 ExtendedKeyUsageOID.CLIENT_AUTH: "clientAuth",
325 ExtendedKeyUsageOID.CODE_SIGNING: "codeSigning",
326 ExtendedKeyUsageOID.EMAIL_PROTECTION: "emailProtection",
327 ExtendedKeyUsageOID.TIME_STAMPING: "timeStamping",
328 ExtendedKeyUsageOID.OCSP_SIGNING: "OCSPSigning",
329 ExtendedKeyUsageOID.SMARTCARD_LOGON: "msSmartcardLogin",
330 ExtendedKeyUsageOID.KERBEROS_PKINIT_KDC: "pkInitKDC",
331 ExtensionOID.SUBJECT_DIRECTORY_ATTRIBUTES: "subjectDirectoryAttributes",
332 ExtensionOID.SUBJECT_KEY_IDENTIFIER: "subjectKeyIdentifier",
333 ExtensionOID.KEY_USAGE: "keyUsage",
334 ExtensionOID.PRIVATE_KEY_USAGE_PERIOD: "privateKeyUsagePeriod",
335 ExtensionOID.SUBJECT_ALTERNATIVE_NAME: "subjectAltName",
336 ExtensionOID.ISSUER_ALTERNATIVE_NAME: "issuerAltName",
337 ExtensionOID.BASIC_CONSTRAINTS: "basicConstraints",
338 ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: (
339 "signedCertificateTimestampList"
340 ),
341 ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS: (
342 "signedCertificateTimestampList"
343 ),
344 ExtensionOID.PRECERT_POISON: "ctPoison",
345 ExtensionOID.MS_CERTIFICATE_TEMPLATE: "msCertificateTemplate",
346 ExtensionOID.ADMISSIONS: "Admissions",
347 CRLEntryExtensionOID.CRL_REASON: "cRLReason",
348 CRLEntryExtensionOID.INVALIDITY_DATE: "invalidityDate",
349 CRLEntryExtensionOID.CERTIFICATE_ISSUER: "certificateIssuer",
350 ExtensionOID.NAME_CONSTRAINTS: "nameConstraints",
351 ExtensionOID.CRL_DISTRIBUTION_POINTS: "cRLDistributionPoints",
352 ExtensionOID.CERTIFICATE_POLICIES: "certificatePolicies",
353 ExtensionOID.POLICY_MAPPINGS: "policyMappings",
354 ExtensionOID.AUTHORITY_KEY_IDENTIFIER: "authorityKeyIdentifier",
355 ExtensionOID.POLICY_CONSTRAINTS: "policyConstraints",
356 ExtensionOID.EXTENDED_KEY_USAGE: "extendedKeyUsage",
357 ExtensionOID.FRESHEST_CRL: "freshestCRL",
358 ExtensionOID.INHIBIT_ANY_POLICY: "inhibitAnyPolicy",
359 ExtensionOID.ISSUING_DISTRIBUTION_POINT: "issuingDistributionPoint",
360 ExtensionOID.AUTHORITY_INFORMATION_ACCESS: "authorityInfoAccess",
361 ExtensionOID.SUBJECT_INFORMATION_ACCESS: "subjectInfoAccess",
362 ExtensionOID.OCSP_NO_CHECK: "OCSPNoCheck",
363 ExtensionOID.CRL_NUMBER: "cRLNumber",
364 ExtensionOID.DELTA_CRL_INDICATOR: "deltaCRLIndicator",
365 ExtensionOID.TLS_FEATURE: "TLSFeature",
366 AuthorityInformationAccessOID.OCSP: "OCSP",
367 AuthorityInformationAccessOID.CA_ISSUERS: "caIssuers",
368 SubjectInformationAccessOID.CA_REPOSITORY: "caRepository",
369 CertificatePoliciesOID.CPS_QUALIFIER: "id-qt-cps",
370 CertificatePoliciesOID.CPS_USER_NOTICE: "id-qt-unotice",
371 OCSPExtensionOID.NONCE: "OCSPNonce",
372 AttributeOID.CHALLENGE_PASSWORD: "challengePassword",
373}