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.0.1, created at 2022-12-25 06:11 +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.ECDSA_WITH_SHA1: hashes.SHA1(), 

132 SignatureAlgorithmOID.ECDSA_WITH_SHA224: hashes.SHA224(), 

133 SignatureAlgorithmOID.ECDSA_WITH_SHA256: hashes.SHA256(), 

134 SignatureAlgorithmOID.ECDSA_WITH_SHA384: hashes.SHA384(), 

135 SignatureAlgorithmOID.ECDSA_WITH_SHA512: hashes.SHA512(), 

136 SignatureAlgorithmOID.DSA_WITH_SHA1: hashes.SHA1(), 

137 SignatureAlgorithmOID.DSA_WITH_SHA224: hashes.SHA224(), 

138 SignatureAlgorithmOID.DSA_WITH_SHA256: hashes.SHA256(), 

139 SignatureAlgorithmOID.ED25519: None, 

140 SignatureAlgorithmOID.ED448: None, 

141 SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: None, 

142 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: None, 

143 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: None, 

144} 

145 

146 

147class ExtendedKeyUsageOID: 

148 SERVER_AUTH = ObjectIdentifier("1.3.6.1.5.5.7.3.1") 

149 CLIENT_AUTH = ObjectIdentifier("1.3.6.1.5.5.7.3.2") 

150 CODE_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.3") 

151 EMAIL_PROTECTION = ObjectIdentifier("1.3.6.1.5.5.7.3.4") 

152 TIME_STAMPING = ObjectIdentifier("1.3.6.1.5.5.7.3.8") 

153 OCSP_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.9") 

154 ANY_EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37.0") 

155 SMARTCARD_LOGON = ObjectIdentifier("1.3.6.1.4.1.311.20.2.2") 

156 KERBEROS_PKINIT_KDC = ObjectIdentifier("1.3.6.1.5.2.3.5") 

157 IPSEC_IKE = ObjectIdentifier("1.3.6.1.5.5.7.3.17") 

158 CERTIFICATE_TRANSPARENCY = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.4") 

159 

160 

161class AuthorityInformationAccessOID: 

162 CA_ISSUERS = ObjectIdentifier("1.3.6.1.5.5.7.48.2") 

163 OCSP = ObjectIdentifier("1.3.6.1.5.5.7.48.1") 

164 

165 

166class SubjectInformationAccessOID: 

167 CA_REPOSITORY = ObjectIdentifier("1.3.6.1.5.5.7.48.5") 

168 

169 

170class CertificatePoliciesOID: 

171 CPS_QUALIFIER = ObjectIdentifier("1.3.6.1.5.5.7.2.1") 

172 CPS_USER_NOTICE = ObjectIdentifier("1.3.6.1.5.5.7.2.2") 

173 ANY_POLICY = ObjectIdentifier("2.5.29.32.0") 

174 

175 

176class AttributeOID: 

177 CHALLENGE_PASSWORD = ObjectIdentifier("1.2.840.113549.1.9.7") 

178 UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") 

179 

180 

181_OID_NAMES = { 

182 NameOID.COMMON_NAME: "commonName", 

183 NameOID.COUNTRY_NAME: "countryName", 

184 NameOID.LOCALITY_NAME: "localityName", 

185 NameOID.STATE_OR_PROVINCE_NAME: "stateOrProvinceName", 

186 NameOID.STREET_ADDRESS: "streetAddress", 

187 NameOID.ORGANIZATION_NAME: "organizationName", 

188 NameOID.ORGANIZATIONAL_UNIT_NAME: "organizationalUnitName", 

189 NameOID.SERIAL_NUMBER: "serialNumber", 

190 NameOID.SURNAME: "surname", 

191 NameOID.GIVEN_NAME: "givenName", 

192 NameOID.TITLE: "title", 

193 NameOID.GENERATION_QUALIFIER: "generationQualifier", 

194 NameOID.X500_UNIQUE_IDENTIFIER: "x500UniqueIdentifier", 

195 NameOID.DN_QUALIFIER: "dnQualifier", 

196 NameOID.PSEUDONYM: "pseudonym", 

197 NameOID.USER_ID: "userID", 

198 NameOID.DOMAIN_COMPONENT: "domainComponent", 

199 NameOID.EMAIL_ADDRESS: "emailAddress", 

200 NameOID.JURISDICTION_COUNTRY_NAME: "jurisdictionCountryName", 

201 NameOID.JURISDICTION_LOCALITY_NAME: "jurisdictionLocalityName", 

202 NameOID.JURISDICTION_STATE_OR_PROVINCE_NAME: ( 

203 "jurisdictionStateOrProvinceName" 

204 ), 

205 NameOID.BUSINESS_CATEGORY: "businessCategory", 

206 NameOID.POSTAL_ADDRESS: "postalAddress", 

207 NameOID.POSTAL_CODE: "postalCode", 

208 NameOID.INN: "INN", 

209 NameOID.OGRN: "OGRN", 

210 NameOID.SNILS: "SNILS", 

211 NameOID.UNSTRUCTURED_NAME: "unstructuredName", 

212 SignatureAlgorithmOID.RSA_WITH_MD5: "md5WithRSAEncryption", 

213 SignatureAlgorithmOID.RSA_WITH_SHA1: "sha1WithRSAEncryption", 

214 SignatureAlgorithmOID.RSA_WITH_SHA224: "sha224WithRSAEncryption", 

215 SignatureAlgorithmOID.RSA_WITH_SHA256: "sha256WithRSAEncryption", 

216 SignatureAlgorithmOID.RSA_WITH_SHA384: "sha384WithRSAEncryption", 

217 SignatureAlgorithmOID.RSA_WITH_SHA512: "sha512WithRSAEncryption", 

218 SignatureAlgorithmOID.RSASSA_PSS: "RSASSA-PSS", 

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

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

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

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

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

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

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

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

227 SignatureAlgorithmOID.ED25519: "ed25519", 

228 SignatureAlgorithmOID.ED448: "ed448", 

229 SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: ( 

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

231 ), 

232 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: ( 

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

234 ), 

235 SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: ( 

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

237 ), 

238 ExtendedKeyUsageOID.SERVER_AUTH: "serverAuth", 

239 ExtendedKeyUsageOID.CLIENT_AUTH: "clientAuth", 

240 ExtendedKeyUsageOID.CODE_SIGNING: "codeSigning", 

241 ExtendedKeyUsageOID.EMAIL_PROTECTION: "emailProtection", 

242 ExtendedKeyUsageOID.TIME_STAMPING: "timeStamping", 

243 ExtendedKeyUsageOID.OCSP_SIGNING: "OCSPSigning", 

244 ExtendedKeyUsageOID.SMARTCARD_LOGON: "msSmartcardLogin", 

245 ExtendedKeyUsageOID.KERBEROS_PKINIT_KDC: "pkInitKDC", 

246 ExtensionOID.SUBJECT_DIRECTORY_ATTRIBUTES: "subjectDirectoryAttributes", 

247 ExtensionOID.SUBJECT_KEY_IDENTIFIER: "subjectKeyIdentifier", 

248 ExtensionOID.KEY_USAGE: "keyUsage", 

249 ExtensionOID.SUBJECT_ALTERNATIVE_NAME: "subjectAltName", 

250 ExtensionOID.ISSUER_ALTERNATIVE_NAME: "issuerAltName", 

251 ExtensionOID.BASIC_CONSTRAINTS: "basicConstraints", 

252 ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( 

253 "signedCertificateTimestampList" 

254 ), 

255 ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS: ( 

256 "signedCertificateTimestampList" 

257 ), 

258 ExtensionOID.PRECERT_POISON: "ctPoison", 

259 CRLEntryExtensionOID.CRL_REASON: "cRLReason", 

260 CRLEntryExtensionOID.INVALIDITY_DATE: "invalidityDate", 

261 CRLEntryExtensionOID.CERTIFICATE_ISSUER: "certificateIssuer", 

262 ExtensionOID.NAME_CONSTRAINTS: "nameConstraints", 

263 ExtensionOID.CRL_DISTRIBUTION_POINTS: "cRLDistributionPoints", 

264 ExtensionOID.CERTIFICATE_POLICIES: "certificatePolicies", 

265 ExtensionOID.POLICY_MAPPINGS: "policyMappings", 

266 ExtensionOID.AUTHORITY_KEY_IDENTIFIER: "authorityKeyIdentifier", 

267 ExtensionOID.POLICY_CONSTRAINTS: "policyConstraints", 

268 ExtensionOID.EXTENDED_KEY_USAGE: "extendedKeyUsage", 

269 ExtensionOID.FRESHEST_CRL: "freshestCRL", 

270 ExtensionOID.INHIBIT_ANY_POLICY: "inhibitAnyPolicy", 

271 ExtensionOID.ISSUING_DISTRIBUTION_POINT: ("issuingDistributionPoint"), 

272 ExtensionOID.AUTHORITY_INFORMATION_ACCESS: "authorityInfoAccess", 

273 ExtensionOID.SUBJECT_INFORMATION_ACCESS: "subjectInfoAccess", 

274 ExtensionOID.OCSP_NO_CHECK: "OCSPNoCheck", 

275 ExtensionOID.CRL_NUMBER: "cRLNumber", 

276 ExtensionOID.DELTA_CRL_INDICATOR: "deltaCRLIndicator", 

277 ExtensionOID.TLS_FEATURE: "TLSFeature", 

278 AuthorityInformationAccessOID.OCSP: "OCSP", 

279 AuthorityInformationAccessOID.CA_ISSUERS: "caIssuers", 

280 SubjectInformationAccessOID.CA_REPOSITORY: "caRepository", 

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

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

283 OCSPExtensionOID.NONCE: "OCSPNonce", 

284 AttributeOID.CHALLENGE_PASSWORD: "challengePassword", 

285}