From a1426f0afc61e4d94be012700c37e2a1a8f4fab6 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Tue, 25 Nov 2014 20:35:20 -1000 Subject: initial x509 version support Adds enum34 as a dependency --- setup.py | 1 + src/cryptography/hazmat/backends/openssl/x509.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 3e2ab3eb..ead5ec4f 100644 --- a/setup.py +++ b/setup.py @@ -36,6 +36,7 @@ VECTORS_DEPENDENCY = "cryptography_vectors=={0}".format(about['__version__']) requirements = [ CFFI_DEPENDENCY, + "enum34", "pyasn1", SIX_DEPENDENCY, SETUPTOOLS_DEPENDENCY diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py index 8dced83b..9f12da0e 100644 --- a/src/cryptography/hazmat/backends/openssl/x509.py +++ b/src/cryptography/hazmat/backends/openssl/x509.py @@ -16,7 +16,7 @@ from __future__ import absolute_import, division, print_function import datetime from cryptography import utils -from cryptography.hazmat.primitives import hashes, interfaces +from cryptography.hazmat.primitives import hashes, interfaces, x509 @utils.register_interface(interfaces.X509Certificate) @@ -52,6 +52,16 @@ class _X509Certificate(object): h.update(der) return h.finalize() + @property + def version(self): + version = self._backend._lib.X509_get_version(self._x509) + if version == 0: + return x509.X509Version.v1 + elif version == 2: + return x509.X509Version.v3 + else: + raise StandardError("TODO") + @property def serial(self): asn1_int = self._backend._lib.X509_get_serialNumber(self._x509) -- cgit v1.2.3