summaryrefslogtreecommitdiff
path: root/src/rust/src/x509/ocsp_resp.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rust/src/x509/ocsp_resp.rs')
-rw-r--r--src/rust/src/x509/ocsp_resp.rs29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/rust/src/x509/ocsp_resp.rs b/src/rust/src/x509/ocsp_resp.rs
index 942822b48..728eb92ce 100644
--- a/src/rust/src/x509/ocsp_resp.rs
+++ b/src/rust/src/x509/ocsp_resp.rs
@@ -316,20 +316,22 @@ impl OCSPResponse {
#[getter]
fn extensions(&mut self, py: pyo3::Python<'_>) -> pyo3::PyResult<pyo3::PyObject> {
self.requires_successful_response()?;
+
+ let response_data = &self
+ .raw
+ .borrow_value()
+ .response_bytes
+ .as_ref()
+ .unwrap()
+ .response
+ .get()
+ .tbs_response_data;
+
let x509_module = py.import(pyo3::intern!(py, "cryptography.x509"))?;
x509::parse_and_cache_extensions(
py,
&mut self.cached_extensions,
- &self
- .raw
- .borrow_value()
- .response_bytes
- .as_ref()
- .unwrap()
- .response
- .get()
- .tbs_response_data
- .response_extensions,
+ &response_data.raw_response_extensions,
|oid, ext_data| {
match oid {
&oid::NONCE_OID => {
@@ -362,11 +364,12 @@ impl OCSPResponse {
.response
.get(),
)?;
+
let x509_module = py.import(pyo3::intern!(py, "cryptography.x509"))?;
x509::parse_and_cache_extensions(
py,
&mut self.cached_single_extensions,
- &single_resp.single_extensions,
+ &single_resp.raw_single_extensions,
|oid, ext_data| match oid {
&oid::SIGNED_CERTIFICATE_TIMESTAMPS_OID => {
let contents = asn1::parse_single::<&[u8]>(ext_data)?;
@@ -628,7 +631,7 @@ fn create_ocsp_response(
cert_status,
next_update,
this_update,
- single_extensions: None,
+ raw_single_extensions: None,
}];
borrowed_cert = responder_cert.borrow();
@@ -669,7 +672,7 @@ fn create_ocsp_response(
responses: common::Asn1ReadableOrWritable::new_write(asn1::SequenceOfWriter::new(
responses,
)),
- response_extensions: x509::common::encode_extensions(
+ raw_response_extensions: x509::common::encode_extensions(
py,
builder.getattr(pyo3::intern!(py, "_extensions"))?,
extensions::encode_extension,