diff options
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 3 | ||||
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/x509.py | 7 | ||||
-rw-r--r-- | tests/test_x509_ext.py | 12 |
3 files changed, 7 insertions, 15 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index 7d8460c6..0dd9a2e3 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -2270,6 +2270,9 @@ class Backend(object): generalized_time = self._ffi.gc( generalized_time, self._lib.ASN1_GENERALIZEDTIME_free ) + return self._parse_asn1_generalized_time(generalized_time) + + def _parse_asn1_generalized_time(self, generalized_time): time = self._asn1_string_to_ascii( self._ffi.cast("ASN1_STRING *", generalized_time) ) diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py index 1376ab72..49d895bb 100644 --- a/src/cryptography/hazmat/backends/openssl/x509.py +++ b/src/cryptography/hazmat/backends/openssl/x509.py @@ -712,13 +712,8 @@ def _decode_invalidity_date(backend, inv_date): generalized_time = backend._ffi.gc( generalized_time, backend._lib.ASN1_GENERALIZEDTIME_free ) - time = backend._ffi.string( - backend._lib.ASN1_STRING_data( - backend._ffi.cast("ASN1_STRING *", generalized_time) - ) - ).decode("ascii") return x509.InvalidityDate( - datetime.datetime.strptime(time, "%Y%m%d%H%M%SZ") + backend._parse_asn1_generalized_time(generalized_time) ) diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py index bfa94ec2..f8023005 100644 --- a/tests/test_x509_ext.py +++ b/tests/test_x509_ext.py @@ -972,9 +972,7 @@ class TestExtensions(object): ) exts = cert.extensions assert exts[-1] == exts[7] - assert len(exts[3:5]) == 2 - assert exts[2:4][0] == exts[2] - assert exts[2:4][1] == exts[3] + assert exts[2:6:2] == [exts[2], exts[4]] def test_one_extension_get_for_class(self, backend): cert = _load_cert( @@ -1506,9 +1504,7 @@ class TestGeneralNames(object): x509.UniformResourceIdentifier(u"http://another.local"), ]) assert gn[-1] == gn[4] - assert len(gn[1:3]) == 2 - assert gn[2:4][0] == gn[2] - assert gn[2:5:2][1] == gn[4] + assert gn[2:6:2] == [gn[2], gn[4]] def test_invalid_general_names(self): with pytest.raises(TypeError): @@ -1673,9 +1669,7 @@ class TestSubjectAlternativeName(object): x509.UniformResourceIdentifier(u"http://another.local"), ]) assert san[-1] == san[4] - assert len(san[1:3]) == 2 - assert san[2:4][0] == san[2] - assert san[2:5:2][1] == san[4] + assert san[2:6:2] == [san[2], san[4]] def test_invalid_general_names(self): with pytest.raises(TypeError): |