aboutsummaryrefslogtreecommitdiffstats
path: root/src/cryptography/hazmat/backends/openssl/x509.py
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-10-01 16:50:42 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-11-03 15:00:10 +0900
commitd91e7c1d3fa1bece0e77262b46d9992271fd24b0 (patch)
tree4bf4ac0adfe53723d6b72273c6e1b3645041e523 /src/cryptography/hazmat/backends/openssl/x509.py
parent5f80d6cd7bb3c2275de2fbad4ac6a24a15709b66 (diff)
downloadcryptography-d91e7c1d3fa1bece0e77262b46d9992271fd24b0.tar.gz
cryptography-d91e7c1d3fa1bece0e77262b46d9992271fd24b0.tar.bz2
cryptography-d91e7c1d3fa1bece0e77262b46d9992271fd24b0.zip
add support for Certificate signature and tbs_certificate
Diffstat (limited to 'src/cryptography/hazmat/backends/openssl/x509.py')
-rw-r--r--src/cryptography/hazmat/backends/openssl/x509.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py
index 1ba59b68..0e5ab914 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -322,6 +322,20 @@ class _Certificate(object):
def extensions(self):
return _CERTIFICATE_EXTENSION_PARSER.parse(self._backend, self._x509)
+ @property
+ def signature(self):
+ return self._backend._asn1_string_to_bytes(self._x509.signature)
+
+ @property
+ def tbs_certificate(self):
+ pp = self._backend._ffi.new("unsigned char **")
+ res = self._backend._lib.i2d_X509_CINF(self._x509.cert_info, pp)
+ self._backend.openssl_assert(res > 0)
+ pp = self._backend._ffi.gc(
+ pp, lambda pointer: self._backend._lib.OPENSSL_free(pointer[0])
+ )
+ return self._backend._ffi.buffer(pp[0], res)[:]
+
def public_bytes(self, encoding):
bio = self._backend._create_mem_bio()
if encoding is serialization.Encoding.PEM: