Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/cryptography/hazmat/_oid.py: 100%

126 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2023-12-08 06:05 +0000

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 

7import typing 

8 

9from cryptography.hazmat.bindings._rust import ( 

10 ObjectIdentifier as ObjectIdentifier, 

11) 

12from cryptography.hazmat.primitives import hashes 

13 

14 

15class ExtensionOID: 

16 SUBJECT_DIRECTORY_ATTRIBUTES = ObjectIdentifier("2.5.29.9") 

17 SUBJECT_KEY_IDENTIFIER = ObjectIdentifier("2.5.29.14") 

18 KEY_USAGE = ObjectIdentifier("2.5.29.15") 

19 SUBJECT_ALTERNATIVE_NAME = ObjectIdentifier("2.5.29.17") 

20 ISSUER_ALTERNATIVE_NAME = ObjectIdentifier("2.5.29.18") 

21 BASIC_CONSTRAINTS = ObjectIdentifier("2.5.29.19") 

22 NAME_CONSTRAINTS = ObjectIdentifier("2.5.29.30") 

23 CRL_DISTRIBUTION_POINTS = ObjectIdentifier("2.5.29.31") 

24 CERTIFICATE_POLICIES = ObjectIdentifier("2.5.29.32") 

25 POLICY_MAPPINGS = ObjectIdentifier("2.5.29.33") 

26 AUTHORITY_KEY_IDENTIFIER = ObjectIdentifier("2.5.29.35") 

27 POLICY_CONSTRAINTS = ObjectIdentifier("2.5.29.36") 

28 EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37") 

29 FRESHEST_CRL = ObjectIdentifier("2.5.29.46") 

30 INHIBIT_ANY_POLICY = ObjectIdentifier("2.5.29.54") 

31 ISSUING_DISTRIBUTION_POINT = ObjectIdentifier("2.5.29.28") 

32 AUTHORITY_INFORMATION_ACCESS = ObjectIdentifier("1.3.6.1.5.5.7.1.1") 

33 SUBJECT_INFORMATION_ACCESS = ObjectIdentifier("1.3.6.1.5.5.7.1.11") 

34 OCSP_NO_CHECK = ObjectIdentifier("1.3.6.1.5.5.7.48.1.5") 

35 TLS_FEATURE = ObjectIdentifier("1.3.6.1.5.5.7.1.24") 

36 CRL_NUMBER = ObjectIdentifier("2.5.29.20") 

37 DELTA_CRL_INDICATOR = ObjectIdentifier("2.5.29.27") 

38 PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier( 

39 "1.3.6.1.4.1.11129.2.4.2" 

40 ) 

41 PRECERT_POISON = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.3") 

42 SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.5") 

43 MS_CERTIFICATE_TEMPLATE = ObjectIdentifier("1.3.6.1.4.1.311.21.7") 

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_NAME = ObjectIdentifier("2.5.4.10") 

64 ORGANIZATIONAL_UNIT_NAME = ObjectIdentifier("2.5.4.11") 

65 SERIAL_NUMBER = ObjectIdentifier("2.5.4.5") 

66 SURNAME = ObjectIdentifier("2.5.4.4") 

67 GIVEN_NAME = ObjectIdentifier("2.5.4.42") 

68 TITLE = ObjectIdentifier("2.5.4.12") 

69 INITIALS = ObjectIdentifier("2.5.4.43") 

70 GENERATION_QUALIFIER = ObjectIdentifier("2.5.4.44") 

71 X500_UNIQUE_IDENTIFIER = ObjectIdentifier("2.5.4.45") 

72 DN_QUALIFIER = ObjectIdentifier("2.5.4.46") 

73 PSEUDONYM = ObjectIdentifier("2.5.4.65") 

74 USER_ID = ObjectIdentifier("0.9.2342.19200300.100.1.1") 

75 DOMAIN_COMPONENT = ObjectIdentifier("0.9.2342.19200300.100.1.25") 

76 EMAIL_ADDRESS = ObjectIdentifier("1.2.840.113549.1.9.1") 

77 JURISDICTION_COUNTRY_NAME = ObjectIdentifier("1.3.6.1.4.1.311.60.2.1.3") 

78 JURISDICTION_LOCALITY_NAME = ObjectIdentifier("1.3.6.1.4.1.311.60.2.1.1") 

79 JURISDICTION_STATE_OR_PROVINCE_NAME = ObjectIdentifier( 

80 "1.3.6.1.4.1.311.60.2.1.2" 

81 ) 

82 BUSINESS_CATEGORY = ObjectIdentifier("2.5.4.15") 

83 POSTAL_ADDRESS = ObjectIdentifier("2.5.4.16") 

84 POSTAL_CODE = ObjectIdentifier("2.5.4.17") 

85 INN = ObjectIdentifier("1.2.643.3.131.1.1") 

86 OGRN = ObjectIdentifier("1.2.643.100.1") 

87 SNILS = ObjectIdentifier("1.2.643.100.3") 

88 UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") 

89 

90 

91class SignatureAlgorithmOID: 

92 RSA_WITH_MD5 = ObjectIdentifier("1.2.840.113549.1.1.4") 

93 RSA_WITH_SHA1 = ObjectIdentifier("1.2.840.113549.1.1.5") 

94 # This is an alternate OID for RSA with SHA1 that is occasionally seen 

95 _RSA_WITH_SHA1 = ObjectIdentifier("1.3.14.3.2.29") 

96 RSA_WITH_SHA224 = ObjectIdentifier("1.2.840.113549.1.1.14") 

97 RSA_WITH_SHA256 = ObjectIdentifier("1.2.840.113549.1.1.11") 

98 RSA_WITH_SHA384 = ObjectIdentifier("1.2.840.113549.1.1.12") 

99 RSA_WITH_SHA512 = ObjectIdentifier("1.2.840.113549.1.1.13") 

100 RSA_WITH_SHA3_224 = ObjectIdentifier("2.16.840.1.101.3.4.3.13") 

101 RSA_WITH_SHA3_256 = ObjectIdentifier("2.16.840.1.101.3.4.3.14") 

102 RSA_WITH_SHA3_384 = ObjectIdentifier("2.16.840.1.101.3.4.3.15") 

103 RSA_WITH_SHA3_512 = ObjectIdentifier("2.16.840.1.101.3.4.3.16") 

104 RSASSA_PSS = ObjectIdentifier("1.2.840.113549.1.1.10") 

105 ECDSA_WITH_SHA1 = ObjectIdentifier("1.2.840.10045.4.1") 

106 ECDSA_WITH_SHA224 = ObjectIdentifier("1.2.840.10045.4.3.1") 

107 ECDSA_WITH_SHA256 = ObjectIdentifier("1.2.840.10045.4.3.2") 

108 ECDSA_WITH_SHA384 = ObjectIdentifier("1.2.840.10045.4.3.3") 

109 ECDSA_WITH_SHA512 = ObjectIdentifier("1.2.840.10045.4.3.4") 

110 ECDSA_WITH_SHA3_224 = ObjectIdentifier("2.16.840.1.101.3.4.3.9") 

111 ECDSA_WITH_SHA3_256 = ObjectIdentifier("2.16.840.1.101.3.4.3.10") 

112 ECDSA_WITH_SHA3_384 = ObjectIdentifier("2.16.840.1.101.3.4.3.11") 

113 ECDSA_WITH_SHA3_512 = ObjectIdentifier("2.16.840.1.101.3.4.3.12") 

114 DSA_WITH_SHA1 = ObjectIdentifier("1.2.840.10040.4.3") 

115 DSA_WITH_SHA224 = ObjectIdentifier("2.16.840.1.101.3.4.3.1") 

116 DSA_WITH_SHA256 = ObjectIdentifier("2.16.840.1.101.3.4.3.2") 

117 DSA_WITH_SHA384 = ObjectIdentifier("2.16.840.1.101.3.4.3.3") 

118 DSA_WITH_SHA512 = ObjectIdentifier("2.16.840.1.101.3.4.3.4") 

119 ED25519 = ObjectIdentifier("1.3.101.112") 

120 ED448 = ObjectIdentifier("1.3.101.113") 

121 GOSTR3411_94_WITH_3410_2001 = ObjectIdentifier("1.2.643.2.2.3") 

122 GOSTR3410_2012_WITH_3411_2012_256 = ObjectIdentifier("1.2.643.7.1.1.3.2") 

123 GOSTR3410_2012_WITH_3411_2012_512 = ObjectIdentifier("1.2.643.7.1.1.3.3") 

124 

125 

126_SIG_OIDS_TO_HASH: typing.Dict[ 

127 ObjectIdentifier, typing.Optional[hashes.HashAlgorithm] 

128] = { 

129 SignatureAlgorithmOID.RSA_WITH_MD5: hashes.MD5(), 

130 SignatureAlgorithmOID.RSA_WITH_SHA1: hashes.SHA1(), 

131 SignatureAlgorithmOID._RSA_WITH_SHA1: hashes.SHA1(), 

132 SignatureAlgorithmOID.RSA_WITH_SHA224: hashes.SHA224(), 

133 SignatureAlgorithmOID.RSA_WITH_SHA256: hashes.SHA256(), 

134 SignatureAlgorithmOID.RSA_WITH_SHA384: hashes.SHA384(), 

135 SignatureAlgorithmOID.RSA_WITH_SHA512: hashes.SHA512(), 

136 SignatureAlgorithmOID.RSA_WITH_SHA3_224: hashes.SHA3_224(), 

137 SignatureAlgorithmOID.RSA_WITH_SHA3_256: hashes.SHA3_256(), 

138 SignatureAlgorithmOID.RSA_WITH_SHA3_384: hashes.SHA3_384(), 

139 SignatureAlgorithmOID.RSA_WITH_SHA3_512: hashes.SHA3_512(), 

140 SignatureAlgorithmOID.ECDSA_WITH_SHA1: hashes.SHA1(), 

141 SignatureAlgorithmOID.ECDSA_WITH_SHA224: hashes.SHA224(), 

142 SignatureAlgorithmOID.ECDSA_WITH_SHA256: hashes.SHA256(), 

143 SignatureAlgorithmOID.ECDSA_WITH_SHA384: hashes.SHA384(), 

144 SignatureAlgorithmOID.ECDSA_WITH_SHA512: hashes.SHA512(), 

145 SignatureAlgorithmOID.ECDSA_WITH_SHA3_224: hashes.SHA3_224(), 

146 SignatureAlgorithmOID.ECDSA_WITH_SHA3_256: hashes.SHA3_256(), 

147 SignatureAlgorithmOID.ECDSA_WITH_SHA3_384: hashes.SHA3_384(), 

148 SignatureAlgorithmOID.ECDSA_WITH_SHA3_512: hashes.SHA3_512(), 

149 SignatureAlgorithmOID.DSA_WITH_SHA1: hashes.SHA1(), 

150 SignatureAlgorithmOID.DSA_WITH_SHA224: hashes.SHA224(), 

151 SignatureAlgorithmOID.DSA_WITH_SHA256: hashes.SHA256(), 

152 SignatureAlgorithmOID.ED25519: None, 

153 SignatureAlgorithmOID.ED448: None, 

154 SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: None, 

155 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: None, 

156 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: None, 

157} 

158 

159 

160class ExtendedKeyUsageOID: 

161 SERVER_AUTH = ObjectIdentifier("1.3.6.1.5.5.7.3.1") 

162 CLIENT_AUTH = ObjectIdentifier("1.3.6.1.5.5.7.3.2") 

163 CODE_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.3") 

164 EMAIL_PROTECTION = ObjectIdentifier("1.3.6.1.5.5.7.3.4") 

165 TIME_STAMPING = ObjectIdentifier("1.3.6.1.5.5.7.3.8") 

166 OCSP_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.9") 

167 ANY_EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37.0") 

168 SMARTCARD_LOGON = ObjectIdentifier("1.3.6.1.4.1.311.20.2.2") 

169 KERBEROS_PKINIT_KDC = ObjectIdentifier("1.3.6.1.5.2.3.5") 

170 IPSEC_IKE = ObjectIdentifier("1.3.6.1.5.5.7.3.17") 

171 CERTIFICATE_TRANSPARENCY = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.4") 

172 

173 

174class AuthorityInformationAccessOID: 

175 CA_ISSUERS = ObjectIdentifier("1.3.6.1.5.5.7.48.2") 

176 OCSP = ObjectIdentifier("1.3.6.1.5.5.7.48.1") 

177 

178 

179class SubjectInformationAccessOID: 

180 CA_REPOSITORY = ObjectIdentifier("1.3.6.1.5.5.7.48.5") 

181 

182 

183class CertificatePoliciesOID: 

184 CPS_QUALIFIER = ObjectIdentifier("1.3.6.1.5.5.7.2.1") 

185 CPS_USER_NOTICE = ObjectIdentifier("1.3.6.1.5.5.7.2.2") 

186 ANY_POLICY = ObjectIdentifier("2.5.29.32.0") 

187 

188 

189class AttributeOID: 

190 CHALLENGE_PASSWORD = ObjectIdentifier("1.2.840.113549.1.9.7") 

191 UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") 

192 

193 

194_OID_NAMES = { 

195 NameOID.COMMON_NAME: "commonName", 

196 NameOID.COUNTRY_NAME: "countryName", 

197 NameOID.LOCALITY_NAME: "localityName", 

198 NameOID.STATE_OR_PROVINCE_NAME: "stateOrProvinceName", 

199 NameOID.STREET_ADDRESS: "streetAddress", 

200 NameOID.ORGANIZATION_NAME: "organizationName", 

201 NameOID.ORGANIZATIONAL_UNIT_NAME: "organizationalUnitName", 

202 NameOID.SERIAL_NUMBER: "serialNumber", 

203 NameOID.SURNAME: "surname", 

204 NameOID.GIVEN_NAME: "givenName", 

205 NameOID.TITLE: "title", 

206 NameOID.GENERATION_QUALIFIER: "generationQualifier", 

207 NameOID.X500_UNIQUE_IDENTIFIER: "x500UniqueIdentifier", 

208 NameOID.DN_QUALIFIER: "dnQualifier", 

209 NameOID.PSEUDONYM: "pseudonym", 

210 NameOID.USER_ID: "userID", 

211 NameOID.DOMAIN_COMPONENT: "domainComponent", 

212 NameOID.EMAIL_ADDRESS: "emailAddress", 

213 NameOID.JURISDICTION_COUNTRY_NAME: "jurisdictionCountryName", 

214 NameOID.JURISDICTION_LOCALITY_NAME: "jurisdictionLocalityName", 

215 NameOID.JURISDICTION_STATE_OR_PROVINCE_NAME: ( 

216 "jurisdictionStateOrProvinceName" 

217 ), 

218 NameOID.BUSINESS_CATEGORY: "businessCategory", 

219 NameOID.POSTAL_ADDRESS: "postalAddress", 

220 NameOID.POSTAL_CODE: "postalCode", 

221 NameOID.INN: "INN", 

222 NameOID.OGRN: "OGRN", 

223 NameOID.SNILS: "SNILS", 

224 NameOID.UNSTRUCTURED_NAME: "unstructuredName", 

225 SignatureAlgorithmOID.RSA_WITH_MD5: "md5WithRSAEncryption", 

226 SignatureAlgorithmOID.RSA_WITH_SHA1: "sha1WithRSAEncryption", 

227 SignatureAlgorithmOID.RSA_WITH_SHA224: "sha224WithRSAEncryption", 

228 SignatureAlgorithmOID.RSA_WITH_SHA256: "sha256WithRSAEncryption", 

229 SignatureAlgorithmOID.RSA_WITH_SHA384: "sha384WithRSAEncryption", 

230 SignatureAlgorithmOID.RSA_WITH_SHA512: "sha512WithRSAEncryption", 

231 SignatureAlgorithmOID.RSASSA_PSS: "RSASSA-PSS", 

232 SignatureAlgorithmOID.ECDSA_WITH_SHA1: "ecdsa-with-SHA1", 

233 SignatureAlgorithmOID.ECDSA_WITH_SHA224: "ecdsa-with-SHA224", 

234 SignatureAlgorithmOID.ECDSA_WITH_SHA256: "ecdsa-with-SHA256", 

235 SignatureAlgorithmOID.ECDSA_WITH_SHA384: "ecdsa-with-SHA384", 

236 SignatureAlgorithmOID.ECDSA_WITH_SHA512: "ecdsa-with-SHA512", 

237 SignatureAlgorithmOID.DSA_WITH_SHA1: "dsa-with-sha1", 

238 SignatureAlgorithmOID.DSA_WITH_SHA224: "dsa-with-sha224", 

239 SignatureAlgorithmOID.DSA_WITH_SHA256: "dsa-with-sha256", 

240 SignatureAlgorithmOID.ED25519: "ed25519", 

241 SignatureAlgorithmOID.ED448: "ed448", 

242 SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: ( 

243 "GOST R 34.11-94 with GOST R 34.10-2001" 

244 ), 

245 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: ( 

246 "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" 

247 ), 

248 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: ( 

249 "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" 

250 ), 

251 ExtendedKeyUsageOID.SERVER_AUTH: "serverAuth", 

252 ExtendedKeyUsageOID.CLIENT_AUTH: "clientAuth", 

253 ExtendedKeyUsageOID.CODE_SIGNING: "codeSigning", 

254 ExtendedKeyUsageOID.EMAIL_PROTECTION: "emailProtection", 

255 ExtendedKeyUsageOID.TIME_STAMPING: "timeStamping", 

256 ExtendedKeyUsageOID.OCSP_SIGNING: "OCSPSigning", 

257 ExtendedKeyUsageOID.SMARTCARD_LOGON: "msSmartcardLogin", 

258 ExtendedKeyUsageOID.KERBEROS_PKINIT_KDC: "pkInitKDC", 

259 ExtensionOID.SUBJECT_DIRECTORY_ATTRIBUTES: "subjectDirectoryAttributes", 

260 ExtensionOID.SUBJECT_KEY_IDENTIFIER: "subjectKeyIdentifier", 

261 ExtensionOID.KEY_USAGE: "keyUsage", 

262 ExtensionOID.SUBJECT_ALTERNATIVE_NAME: "subjectAltName", 

263 ExtensionOID.ISSUER_ALTERNATIVE_NAME: "issuerAltName", 

264 ExtensionOID.BASIC_CONSTRAINTS: "basicConstraints", 

265 ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( 

266 "signedCertificateTimestampList" 

267 ), 

268 ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS: ( 

269 "signedCertificateTimestampList" 

270 ), 

271 ExtensionOID.PRECERT_POISON: "ctPoison", 

272 ExtensionOID.MS_CERTIFICATE_TEMPLATE: "msCertificateTemplate", 

273 CRLEntryExtensionOID.CRL_REASON: "cRLReason", 

274 CRLEntryExtensionOID.INVALIDITY_DATE: "invalidityDate", 

275 CRLEntryExtensionOID.CERTIFICATE_ISSUER: "certificateIssuer", 

276 ExtensionOID.NAME_CONSTRAINTS: "nameConstraints", 

277 ExtensionOID.CRL_DISTRIBUTION_POINTS: "cRLDistributionPoints", 

278 ExtensionOID.CERTIFICATE_POLICIES: "certificatePolicies", 

279 ExtensionOID.POLICY_MAPPINGS: "policyMappings", 

280 ExtensionOID.AUTHORITY_KEY_IDENTIFIER: "authorityKeyIdentifier", 

281 ExtensionOID.POLICY_CONSTRAINTS: "policyConstraints", 

282 ExtensionOID.EXTENDED_KEY_USAGE: "extendedKeyUsage", 

283 ExtensionOID.FRESHEST_CRL: "freshestCRL", 

284 ExtensionOID.INHIBIT_ANY_POLICY: "inhibitAnyPolicy", 

285 ExtensionOID.ISSUING_DISTRIBUTION_POINT: ("issuingDistributionPoint"), 

286 ExtensionOID.AUTHORITY_INFORMATION_ACCESS: "authorityInfoAccess", 

287 ExtensionOID.SUBJECT_INFORMATION_ACCESS: "subjectInfoAccess", 

288 ExtensionOID.OCSP_NO_CHECK: "OCSPNoCheck", 

289 ExtensionOID.CRL_NUMBER: "cRLNumber", 

290 ExtensionOID.DELTA_CRL_INDICATOR: "deltaCRLIndicator", 

291 ExtensionOID.TLS_FEATURE: "TLSFeature", 

292 AuthorityInformationAccessOID.OCSP: "OCSP", 

293 AuthorityInformationAccessOID.CA_ISSUERS: "caIssuers", 

294 SubjectInformationAccessOID.CA_REPOSITORY: "caRepository", 

295 CertificatePoliciesOID.CPS_QUALIFIER: "id-qt-cps", 

296 CertificatePoliciesOID.CPS_USER_NOTICE: "id-qt-unotice", 

297 OCSPExtensionOID.NONCE: "OCSPNonce", 

298 AttributeOID.CHALLENGE_PASSWORD: "challengePassword", 

299}