initial x509 version support
Adds enum34 as a dependency
diff --git a/setup.py b/setup.py
index 3e2ab3e..ead5ec4 100644
--- a/setup.py
+++ b/setup.py
@@ -36,6 +36,7 @@
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 8dced83..9f12da0 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -16,7 +16,7 @@
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 @@
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