diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2018-08-15 18:04:28 -0500 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2018-08-15 19:04:28 -0400 |
commit | 732cf642141f57f26db84ec2a4f6122cf7918c9e (patch) | |
tree | 50902db869cba9ff9599491c76767bd2755e40ec /src/cryptography/hazmat/backends/openssl/backend.py | |
parent | 962c963f75327f43592d7be31b156837f1f9eff1 (diff) | |
download | cryptography-732cf642141f57f26db84ec2a4f6122cf7918c9e.tar.gz cryptography-732cf642141f57f26db84ec2a4f6122cf7918c9e.tar.bz2 cryptography-732cf642141f57f26db84ec2a4f6122cf7918c9e.zip |
OCSP request parsing (#4393)
* add public_bytes to OCSPRequest
* review feedback
* OCSP request parsing
* change some prose
* add __len__ as a required method
Diffstat (limited to 'src/cryptography/hazmat/backends/openssl/backend.py')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index af14bfaa..6a0446bc 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -40,6 +40,7 @@ from cryptography.hazmat.backends.openssl.encode_asn1 import ( ) from cryptography.hazmat.backends.openssl.hashes import _HashContext from cryptography.hazmat.backends.openssl.hmac import _HMACContext +from cryptography.hazmat.backends.openssl.ocsp import _OCSPRequest from cryptography.hazmat.backends.openssl.rsa import ( _RSAPrivateKey, _RSAPublicKey ) @@ -1419,6 +1420,16 @@ class Backend(object): return _EllipticCurvePrivateKey(self, ec_cdata, evp_pkey) + def load_der_ocsp_request(self, data): + mem_bio = self._bytes_to_bio(data) + request = self._lib.d2i_OCSP_REQUEST_bio(mem_bio.bio, self._ffi.NULL) + if request == self._ffi.NULL: + self._consume_errors() + raise ValueError("Unable to load OCSP request") + + request = self._ffi.gc(request, self._lib.OCSP_REQUEST_free) + return _OCSPRequest(self, request) + def elliptic_curve_exchange_algorithm_supported(self, algorithm, curve): return ( self.elliptic_curve_supported(curve) and |