aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-10-21 20:30:27 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-10-21 20:30:27 -0500
commit0be37fb6e1ef85a9a7f22f061f3bc4b7f72ac6db (patch)
treee3aaadefef1d2b343dfd4386ab17b6ce477723af /src
parent8735548991cc1ce518f8f45f6c3c058e66ede953 (diff)
downloadcryptography-0be37fb6e1ef85a9a7f22f061f3bc4b7f72ac6db.tar.gz
cryptography-0be37fb6e1ef85a9a7f22f061f3bc4b7f72ac6db.tar.bz2
cryptography-0be37fb6e1ef85a9a7f22f061f3bc4b7f72ac6db.zip
hoist a dict up to module scope so we don't recreate it every call
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/backends/openssl/x509.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py
index 2790ec7d..1ba59b68 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -658,24 +658,27 @@ def _decode_inhibit_any_policy(backend, asn1_int):
return x509.InhibitAnyPolicy(skip_certs)
+_CRL_REASON_CODE_TO_ENUM = {
+ 0: x509.ReasonFlags.unspecified,
+ 1: x509.ReasonFlags.key_compromise,
+ 2: x509.ReasonFlags.ca_compromise,
+ 3: x509.ReasonFlags.affiliation_changed,
+ 4: x509.ReasonFlags.superseded,
+ 5: x509.ReasonFlags.cessation_of_operation,
+ 6: x509.ReasonFlags.certificate_hold,
+ 8: x509.ReasonFlags.remove_from_crl,
+ 9: x509.ReasonFlags.privilege_withdrawn,
+ 10: x509.ReasonFlags.aa_compromise,
+}
+
+
def _decode_crl_reason(backend, enum):
enum = backend._ffi.cast("ASN1_ENUMERATED *", enum)
enum = backend._ffi.gc(enum, backend._lib.ASN1_ENUMERATED_free)
code = backend._lib.ASN1_ENUMERATED_get(enum)
try:
- return {
- 0: x509.ReasonFlags.unspecified,
- 1: x509.ReasonFlags.key_compromise,
- 2: x509.ReasonFlags.ca_compromise,
- 3: x509.ReasonFlags.affiliation_changed,
- 4: x509.ReasonFlags.superseded,
- 5: x509.ReasonFlags.cessation_of_operation,
- 6: x509.ReasonFlags.certificate_hold,
- 8: x509.ReasonFlags.remove_from_crl,
- 9: x509.ReasonFlags.privilege_withdrawn,
- 10: x509.ReasonFlags.aa_compromise,
- }[code]
+ return _CRL_REASON_CODE_TO_ENUM[code]
except KeyError:
raise ValueError("Unsupported reason code: {0}".format(code))