aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--setup.py1
-rw-r--r--src/cryptography/hazmat/backends/openssl/x509.py12
2 files changed, 12 insertions, 1 deletions
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)
@@ -53,6 +53,16 @@ class _X509Certificate(object):
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)
assert asn1_int != self._backend._ffi.NULL