aboutsummaryrefslogtreecommitdiffstats
path: root/src/cryptography/hazmat/backends/openssl/decode_asn1.py
diff options
context:
space:
mode:
authorJoshua Crowgey <jcrowgey@u.washington.edu>2018-04-03 16:24:06 -0700
committerAlex Gaynor <alex.gaynor@gmail.com>2018-04-03 19:24:06 -0400
commit25f2b4e2edc9a162d3d9ecbd9f26e25da4848735 (patch)
treeefebb0ad2c1e46dd104e786325d09e5145d1fd33 /src/cryptography/hazmat/backends/openssl/decode_asn1.py
parent2920a310f29c6a61c0fffccec5bf794abc422b5f (diff)
downloadcryptography-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/cryptography/hazmat/backends/openssl/decode_asn1.py')
-rw-r--r--src/cryptography/hazmat/backends/openssl/decode_asn1.py8
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
)