aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cryptography/hazmat/backends/openssl/backend.py3
-rw-r--r--src/cryptography/hazmat/backends/openssl/x509.py8
-rw-r--r--tests/test_x509_ext.py12
3 files changed, 7 insertions, 16 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..419fae8d 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -4,7 +4,6 @@
from __future__ import absolute_import, division, print_function
-import datetime
import ipaddress
import operator
@@ -712,13 +711,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):