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

122 statements  

« prev     ^ index     » next       coverage.py v7.2.2, created at 2023-03-26 06:36 +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 

5import typing 

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 SUBJECT_ALTERNATIVE_NAME = ObjectIdentifier("2.5.29.17") 

18 ISSUER_ALTERNATIVE_NAME = ObjectIdentifier("2.5.29.18") 

19 BASIC_CONSTRAINTS = ObjectIdentifier("2.5.29.19") 

20 NAME_CONSTRAINTS = ObjectIdentifier("2.5.29.30") 

21 CRL_DISTRIBUTION_POINTS = ObjectIdentifier("2.5.29.31") 

22 CERTIFICATE_POLICIES = ObjectIdentifier("2.5.29.32") 

23 POLICY_MAPPINGS = ObjectIdentifier("2.5.29.33") 

24 AUTHORITY_KEY_IDENTIFIER = ObjectIdentifier("2.5.29.35") 

25 POLICY_CONSTRAINTS = ObjectIdentifier("2.5.29.36") 

26 EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37") 

27 FRESHEST_CRL = ObjectIdentifier("2.5.29.46") 

28 INHIBIT_ANY_POLICY = ObjectIdentifier("2.5.29.54") 

29 ISSUING_DISTRIBUTION_POINT = ObjectIdentifier("2.5.29.28") 

30 AUTHORITY_INFORMATION_ACCESS = ObjectIdentifier("1.3.6.1.5.5.7.1.1") 

31 SUBJECT_INFORMATION_ACCESS = ObjectIdentifier("1.3.6.1.5.5.7.1.11") 

32 OCSP_NO_CHECK = ObjectIdentifier("1.3.6.1.5.5.7.48.1.5") 

33 TLS_FEATURE = ObjectIdentifier("1.3.6.1.5.5.7.1.24") 

34 CRL_NUMBER = ObjectIdentifier("2.5.29.20") 

35 DELTA_CRL_INDICATOR = ObjectIdentifier("2.5.29.27") 

36 PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier( 

37 "1.3.6.1.4.1.11129.2.4.2" 

38 ) 

39 PRECERT_POISON = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.3") 

40 SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.5") 

41 

42 

43class OCSPExtensionOID: 

44 NONCE = ObjectIdentifier("1.3.6.1.5.5.7.48.1.2") 

45 

46 

47class CRLEntryExtensionOID: 

48 CERTIFICATE_ISSUER = ObjectIdentifier("2.5.29.29") 

49 CRL_REASON = ObjectIdentifier("2.5.29.21") 

50 INVALIDITY_DATE = ObjectIdentifier("2.5.29.24") 

51 

52 

53class NameOID: 

54 COMMON_NAME = ObjectIdentifier("2.5.4.3") 

55 COUNTRY_NAME = ObjectIdentifier("2.5.4.6") 

56 LOCALITY_NAME = ObjectIdentifier("2.5.4.7") 

57 STATE_OR_PROVINCE_NAME = ObjectIdentifier("2.5.4.8") 

58 STREET_ADDRESS = ObjectIdentifier("2.5.4.9") 

59 ORGANIZATION_NAME = ObjectIdentifier("2.5.4.10") 

60 ORGANIZATIONAL_UNIT_NAME = ObjectIdentifier("2.5.4.11") 

61 SERIAL_NUMBER = ObjectIdentifier("2.5.4.5") 

62 SURNAME = ObjectIdentifier("2.5.4.4") 

63 GIVEN_NAME = ObjectIdentifier("2.5.4.42") 

64 TITLE = ObjectIdentifier("2.5.4.12") 

65 GENERATION_QUALIFIER = ObjectIdentifier("2.5.4.44") 

66 X500_UNIQUE_IDENTIFIER = ObjectIdentifier("2.5.4.45") 

67 DN_QUALIFIER = ObjectIdentifier("2.5.4.46") 

68 PSEUDONYM = ObjectIdentifier("2.5.4.65") 

69 USER_ID = ObjectIdentifier("0.9.2342.19200300.100.1.1") 

70 DOMAIN_COMPONENT = ObjectIdentifier("0.9.2342.19200300.100.1.25") 

71 EMAIL_ADDRESS = ObjectIdentifier("1.2.840.113549.1.9.1") 

72 JURISDICTION_COUNTRY_NAME = ObjectIdentifier("1.3.6.1.4.1.311.60.2.1.3") 

73 JURISDICTION_LOCALITY_NAME = ObjectIdentifier("1.3.6.1.4.1.311.60.2.1.1") 

74 JURISDICTION_STATE_OR_PROVINCE_NAME = ObjectIdentifier( 

75 "1.3.6.1.4.1.311.60.2.1.2" 

76 ) 

77 BUSINESS_CATEGORY = ObjectIdentifier("2.5.4.15") 

78 POSTAL_ADDRESS = ObjectIdentifier("2.5.4.16") 

79 POSTAL_CODE = ObjectIdentifier("2.5.4.17") 

80 INN = ObjectIdentifier("1.2.643.3.131.1.1") 

81 OGRN = ObjectIdentifier("1.2.643.100.1") 

82 SNILS = ObjectIdentifier("1.2.643.100.3") 

83 UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") 

84 

85 

86class SignatureAlgorithmOID: 

87 RSA_WITH_MD5 = ObjectIdentifier("1.2.840.113549.1.1.4") 

88 RSA_WITH_SHA1 = ObjectIdentifier("1.2.840.113549.1.1.5") 

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

90 _RSA_WITH_SHA1 = ObjectIdentifier("1.3.14.3.2.29") 

91 RSA_WITH_SHA224 = ObjectIdentifier("1.2.840.113549.1.1.14") 

92 RSA_WITH_SHA256 = ObjectIdentifier("1.2.840.113549.1.1.11") 

93 RSA_WITH_SHA384 = ObjectIdentifier("1.2.840.113549.1.1.12") 

94 RSA_WITH_SHA512 = ObjectIdentifier("1.2.840.113549.1.1.13") 

95 RSA_WITH_SHA3_224 = ObjectIdentifier("2.16.840.1.101.3.4.3.13") 

96 RSA_WITH_SHA3_256 = ObjectIdentifier("2.16.840.1.101.3.4.3.14") 

97 RSA_WITH_SHA3_384 = ObjectIdentifier("2.16.840.1.101.3.4.3.15") 

98 RSA_WITH_SHA3_512 = ObjectIdentifier("2.16.840.1.101.3.4.3.16") 

99 RSASSA_PSS = ObjectIdentifier("1.2.840.113549.1.1.10") 

100 ECDSA_WITH_SHA1 = ObjectIdentifier("1.2.840.10045.4.1") 

101 ECDSA_WITH_SHA224 = ObjectIdentifier("1.2.840.10045.4.3.1") 

102 ECDSA_WITH_SHA256 = ObjectIdentifier("1.2.840.10045.4.3.2") 

103 ECDSA_WITH_SHA384 = ObjectIdentifier("1.2.840.10045.4.3.3") 

104 ECDSA_WITH_SHA512 = ObjectIdentifier("1.2.840.10045.4.3.4") 

105 ECDSA_WITH_SHA3_224 = ObjectIdentifier("2.16.840.1.101.3.4.3.9") 

106 ECDSA_WITH_SHA3_256 = ObjectIdentifier("2.16.840.1.101.3.4.3.10") 

107 ECDSA_WITH_SHA3_384 = ObjectIdentifier("2.16.840.1.101.3.4.3.11") 

108 ECDSA_WITH_SHA3_512 = ObjectIdentifier("2.16.840.1.101.3.4.3.12") 

109 DSA_WITH_SHA1 = ObjectIdentifier("1.2.840.10040.4.3") 

110 DSA_WITH_SHA224 = ObjectIdentifier("2.16.840.1.101.3.4.3.1") 

111 DSA_WITH_SHA256 = ObjectIdentifier("2.16.840.1.101.3.4.3.2") 

112 DSA_WITH_SHA384 = ObjectIdentifier("2.16.840.1.101.3.4.3.3") 

113 DSA_WITH_SHA512 = ObjectIdentifier("2.16.840.1.101.3.4.3.4") 

114 ED25519 = ObjectIdentifier("1.3.101.112") 

115 ED448 = ObjectIdentifier("1.3.101.113") 

116 GOSTR3411_94_WITH_3410_2001 = ObjectIdentifier("1.2.643.2.2.3") 

117 GOSTR3410_2012_WITH_3411_2012_256 = ObjectIdentifier("1.2.643.7.1.1.3.2") 

118 GOSTR3410_2012_WITH_3411_2012_512 = ObjectIdentifier("1.2.643.7.1.1.3.3") 

119 

120 

121_SIG_OIDS_TO_HASH: typing.Dict[ 

122 ObjectIdentifier, typing.Optional[hashes.HashAlgorithm] 

123] = { 

124 SignatureAlgorithmOID.RSA_WITH_MD5: hashes.MD5(), 

125 SignatureAlgorithmOID.RSA_WITH_SHA1: hashes.SHA1(), 

126 SignatureAlgorithmOID._RSA_WITH_SHA1: hashes.SHA1(), 

127 SignatureAlgorithmOID.RSA_WITH_SHA224: hashes.SHA224(), 

128 SignatureAlgorithmOID.RSA_WITH_SHA256: hashes.SHA256(), 

129 SignatureAlgorithmOID.RSA_WITH_SHA384: hashes.SHA384(), 

130 SignatureAlgorithmOID.RSA_WITH_SHA512: hashes.SHA512(), 

131 SignatureAlgorithmOID.RSA_WITH_SHA3_224: hashes.SHA3_224(), 

132 SignatureAlgorithmOID.RSA_WITH_SHA3_256: hashes.SHA3_256(), 

133 SignatureAlgorithmOID.RSA_WITH_SHA3_384: hashes.SHA3_384(), 

134 SignatureAlgorithmOID.RSA_WITH_SHA3_512: hashes.SHA3_512(), 

135 SignatureAlgorithmOID.ECDSA_WITH_SHA1: hashes.SHA1(), 

136 SignatureAlgorithmOID.ECDSA_WITH_SHA224: hashes.SHA224(), 

137 SignatureAlgorithmOID.ECDSA_WITH_SHA256: hashes.SHA256(), 

138 SignatureAlgorithmOID.ECDSA_WITH_SHA384: hashes.SHA384(), 

139 SignatureAlgorithmOID.ECDSA_WITH_SHA512: hashes.SHA512(), 

140 SignatureAlgorithmOID.ECDSA_WITH_SHA3_224: hashes.SHA3_224(), 

141 SignatureAlgorithmOID.ECDSA_WITH_SHA3_256: hashes.SHA3_256(), 

142 SignatureAlgorithmOID.ECDSA_WITH_SHA3_384: hashes.SHA3_384(), 

143 SignatureAlgorithmOID.ECDSA_WITH_SHA3_512: hashes.SHA3_512(), 

144 SignatureAlgorithmOID.DSA_WITH_SHA1: hashes.SHA1(), 

145 SignatureAlgorithmOID.DSA_WITH_SHA224: hashes.SHA224(), 

146 SignatureAlgorithmOID.DSA_WITH_SHA256: hashes.SHA256(), 

147 SignatureAlgorithmOID.ED25519: None, 

148 SignatureAlgorithmOID.ED448: None, 

149 SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: None, 

150 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: None, 

151 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: None, 

152} 

153 

154 

155class ExtendedKeyUsageOID: 

156 SERVER_AUTH = ObjectIdentifier("1.3.6.1.5.5.7.3.1") 

157 CLIENT_AUTH = ObjectIdentifier("1.3.6.1.5.5.7.3.2") 

158 CODE_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.3") 

159 EMAIL_PROTECTION = ObjectIdentifier("1.3.6.1.5.5.7.3.4") 

160 TIME_STAMPING = ObjectIdentifier("1.3.6.1.5.5.7.3.8") 

161 OCSP_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.9") 

162 ANY_EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37.0") 

163 SMARTCARD_LOGON = ObjectIdentifier("1.3.6.1.4.1.311.20.2.2") 

164 KERBEROS_PKINIT_KDC = ObjectIdentifier("1.3.6.1.5.2.3.5") 

165 IPSEC_IKE = ObjectIdentifier("1.3.6.1.5.5.7.3.17") 

166 CERTIFICATE_TRANSPARENCY = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.4") 

167 

168 

169class AuthorityInformationAccessOID: 

170 CA_ISSUERS = ObjectIdentifier("1.3.6.1.5.5.7.48.2") 

171 OCSP = ObjectIdentifier("1.3.6.1.5.5.7.48.1") 

172 

173 

174class SubjectInformationAccessOID: 

175 CA_REPOSITORY = ObjectIdentifier("1.3.6.1.5.5.7.48.5") 

176 

177 

178class CertificatePoliciesOID: 

179 CPS_QUALIFIER = ObjectIdentifier("1.3.6.1.5.5.7.2.1") 

180 CPS_USER_NOTICE = ObjectIdentifier("1.3.6.1.5.5.7.2.2") 

181 ANY_POLICY = ObjectIdentifier("2.5.29.32.0") 

182 

183 

184class AttributeOID: 

185 CHALLENGE_PASSWORD = ObjectIdentifier("1.2.840.113549.1.9.7") 

186 UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") 

187 

188 

189_OID_NAMES = { 

190 NameOID.COMMON_NAME: "commonName", 

191 NameOID.COUNTRY_NAME: "countryName", 

192 NameOID.LOCALITY_NAME: "localityName", 

193 NameOID.STATE_OR_PROVINCE_NAME: "stateOrProvinceName", 

194 NameOID.STREET_ADDRESS: "streetAddress", 

195 NameOID.ORGANIZATION_NAME: "organizationName", 

196 NameOID.ORGANIZATIONAL_UNIT_NAME: "organizationalUnitName", 

197 NameOID.SERIAL_NUMBER: "serialNumber", 

198 NameOID.SURNAME: "surname", 

199 NameOID.GIVEN_NAME: "givenName", 

200 NameOID.TITLE: "title", 

201 NameOID.GENERATION_QUALIFIER: "generationQualifier", 

202 NameOID.X500_UNIQUE_IDENTIFIER: "x500UniqueIdentifier", 

203 NameOID.DN_QUALIFIER: "dnQualifier", 

204 NameOID.PSEUDONYM: "pseudonym", 

205 NameOID.USER_ID: "userID", 

206 NameOID.DOMAIN_COMPONENT: "domainComponent", 

207 NameOID.EMAIL_ADDRESS: "emailAddress", 

208 NameOID.JURISDICTION_COUNTRY_NAME: "jurisdictionCountryName", 

209 NameOID.JURISDICTION_LOCALITY_NAME: "jurisdictionLocalityName", 

210 NameOID.JURISDICTION_STATE_OR_PROVINCE_NAME: ( 

211 "jurisdictionStateOrProvinceName" 

212 ), 

213 NameOID.BUSINESS_CATEGORY: "businessCategory", 

214 NameOID.POSTAL_ADDRESS: "postalAddress", 

215 NameOID.POSTAL_CODE: "postalCode", 

216 NameOID.INN: "INN", 

217 NameOID.OGRN: "OGRN", 

218 NameOID.SNILS: "SNILS", 

219 NameOID.UNSTRUCTURED_NAME: "unstructuredName", 

220 SignatureAlgorithmOID.RSA_WITH_MD5: "md5WithRSAEncryption", 

221 SignatureAlgorithmOID.RSA_WITH_SHA1: "sha1WithRSAEncryption", 

222 SignatureAlgorithmOID.RSA_WITH_SHA224: "sha224WithRSAEncryption", 

223 SignatureAlgorithmOID.RSA_WITH_SHA256: "sha256WithRSAEncryption", 

224 SignatureAlgorithmOID.RSA_WITH_SHA384: "sha384WithRSAEncryption", 

225 SignatureAlgorithmOID.RSA_WITH_SHA512: "sha512WithRSAEncryption", 

226 SignatureAlgorithmOID.RSASSA_PSS: "RSASSA-PSS", 

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

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

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

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

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

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

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

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

235 SignatureAlgorithmOID.ED25519: "ed25519", 

236 SignatureAlgorithmOID.ED448: "ed448", 

237 SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: ( 

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

239 ), 

240 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: ( 

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

242 ), 

243 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: ( 

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

245 ), 

246 ExtendedKeyUsageOID.SERVER_AUTH: "serverAuth", 

247 ExtendedKeyUsageOID.CLIENT_AUTH: "clientAuth", 

248 ExtendedKeyUsageOID.CODE_SIGNING: "codeSigning", 

249 ExtendedKeyUsageOID.EMAIL_PROTECTION: "emailProtection", 

250 ExtendedKeyUsageOID.TIME_STAMPING: "timeStamping", 

251 ExtendedKeyUsageOID.OCSP_SIGNING: "OCSPSigning", 

252 ExtendedKeyUsageOID.SMARTCARD_LOGON: "msSmartcardLogin", 

253 ExtendedKeyUsageOID.KERBEROS_PKINIT_KDC: "pkInitKDC", 

254 ExtensionOID.SUBJECT_DIRECTORY_ATTRIBUTES: "subjectDirectoryAttributes", 

255 ExtensionOID.SUBJECT_KEY_IDENTIFIER: "subjectKeyIdentifier", 

256 ExtensionOID.KEY_USAGE: "keyUsage", 

257 ExtensionOID.SUBJECT_ALTERNATIVE_NAME: "subjectAltName", 

258 ExtensionOID.ISSUER_ALTERNATIVE_NAME: "issuerAltName", 

259 ExtensionOID.BASIC_CONSTRAINTS: "basicConstraints", 

260 ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( 

261 "signedCertificateTimestampList" 

262 ), 

263 ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS: ( 

264 "signedCertificateTimestampList" 

265 ), 

266 ExtensionOID.PRECERT_POISON: "ctPoison", 

267 CRLEntryExtensionOID.CRL_REASON: "cRLReason", 

268 CRLEntryExtensionOID.INVALIDITY_DATE: "invalidityDate", 

269 CRLEntryExtensionOID.CERTIFICATE_ISSUER: "certificateIssuer", 

270 ExtensionOID.NAME_CONSTRAINTS: "nameConstraints", 

271 ExtensionOID.CRL_DISTRIBUTION_POINTS: "cRLDistributionPoints", 

272 ExtensionOID.CERTIFICATE_POLICIES: "certificatePolicies", 

273 ExtensionOID.POLICY_MAPPINGS: "policyMappings", 

274 ExtensionOID.AUTHORITY_KEY_IDENTIFIER: "authorityKeyIdentifier", 

275 ExtensionOID.POLICY_CONSTRAINTS: "policyConstraints", 

276 ExtensionOID.EXTENDED_KEY_USAGE: "extendedKeyUsage", 

277 ExtensionOID.FRESHEST_CRL: "freshestCRL", 

278 ExtensionOID.INHIBIT_ANY_POLICY: "inhibitAnyPolicy", 

279 ExtensionOID.ISSUING_DISTRIBUTION_POINT: ("issuingDistributionPoint"), 

280 ExtensionOID.AUTHORITY_INFORMATION_ACCESS: "authorityInfoAccess", 

281 ExtensionOID.SUBJECT_INFORMATION_ACCESS: "subjectInfoAccess", 

282 ExtensionOID.OCSP_NO_CHECK: "OCSPNoCheck", 

283 ExtensionOID.CRL_NUMBER: "cRLNumber", 

284 ExtensionOID.DELTA_CRL_INDICATOR: "deltaCRLIndicator", 

285 ExtensionOID.TLS_FEATURE: "TLSFeature", 

286 AuthorityInformationAccessOID.OCSP: "OCSP", 

287 AuthorityInformationAccessOID.CA_ISSUERS: "caIssuers", 

288 SubjectInformationAccessOID.CA_REPOSITORY: "caRepository", 

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

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

291 OCSPExtensionOID.NONCE: "OCSPNonce", 

292 AttributeOID.CHALLENGE_PASSWORD: "challengePassword", 

293}