diff options
author | Joshua Crowgey <jcrowgey@u.washington.edu> | 2018-04-03 16:24:06 -0700 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2018-04-03 19:24:06 -0400 |
commit | 25f2b4e2edc9a162d3d9ecbd9f26e25da4848735 (patch) | |
tree | efebb0ad2c1e46dd104e786325d09e5145d1fd33 /src | |
parent | 2920a310f29c6a61c0fffccec5bf794abc422b5f (diff) | |
download | cryptography-25f2b4e2edc9a162d3d9ecbd9f26e25da4848735.tar.gz cryptography-25f2b4e2edc9a162d3d9ecbd9f26e25da4848735.tar.bz2 cryptography-25f2b4e2edc9a162d3d9ecbd9f26e25da4848735.zip |
Raise ve on bad gt (#4180)
* Raise a ValueError when conversion to generalizedtime fails
* added test for badasn1time value error
* pep8 compliance
* Addressing code review
+ VE now raises with ```{!r}``` formatting
+ Test now checks that the bad string made it into the VE message
* using ValueError.match
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/decode_asn1.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/decode_asn1.py b/src/cryptography/hazmat/backends/openssl/decode_asn1.py index 24eb55b1..31fb8cfc 100644 --- a/src/cryptography/hazmat/backends/openssl/decode_asn1.py +++ b/src/cryptography/hazmat/backends/openssl/decode_asn1.py @@ -734,7 +734,13 @@ def _parse_asn1_time(backend, asn1_time): generalized_time = backend._lib.ASN1_TIME_to_generalizedtime( asn1_time, backend._ffi.NULL ) - backend.openssl_assert(generalized_time != backend._ffi.NULL) + if generalized_time == backend._ffi.NULL: + raise ValueError( + "Couldn't parse ASN.1 time as generalizedtime {!r}".format( + _asn1_string_to_bytes(backend, asn1_time) + ) + ) + generalized_time = backend._ffi.gc( generalized_time, backend._lib.ASN1_GENERALIZEDTIME_free ) |