diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-10-21 20:30:27 -0500 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-10-21 20:30:27 -0500 |
commit | 0be37fb6e1ef85a9a7f22f061f3bc4b7f72ac6db (patch) | |
tree | e3aaadefef1d2b343dfd4386ab17b6ce477723af | |
parent | 8735548991cc1ce518f8f45f6c3c058e66ede953 (diff) | |
download | cryptography-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
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/x509.py | 27 |
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)) |