diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs index ddb1894a0f9312c238d766228a1ffe9fafc55dfc..460ef63fad3185b64a2485df1c9711fc23b42b7d 100644 --- a/openssl/src/ssl/mod.rs +++ b/openssl/src/ssl/mod.rs @@ -3106,9 +3106,8 @@ impl SslRef { } #[corresponds(SSL_add1_chain_cert)] #[cfg(ossl102)] - pub fn add_chain_cert_pem(&mut self, chain: &[u8]) -> Result<(), ErrorStack> { - let cert = X509::from_pem(chain)?; - let ret = unsafe { ffi::SSL_add1_chain_cert(self.as_ptr(), cert.as_ptr() as *mut _) }; + pub fn add_chain_cert_pem(&mut self, chain: X509) -> Result<(), ErrorStack> { + let ret = unsafe { ffi::SSL_add1_chain_cert(self.as_ptr(), chain.as_ptr() as *mut _) }; if ret == 1 { Ok(()) } else { diff --git a/openssl/src/ssl/test/mod.rs b/openssl/src/ssl/test/mod.rs index aa29233ab31e3c5c08247d3d698d9055d0221468..39734a2f6a1844ae6427c45b3e9292acc06b40c9 100644 --- a/openssl/src/ssl/test/mod.rs +++ b/openssl/src/ssl/test/mod.rs @@ -1417,6 +1417,7 @@ fn session_cache_size() { #[test] fn add_chain_cert_pem() { let ctx = SslContext::builder(SslMethod::tls()).unwrap().build(); + let cert = X509::from_pem(CERT).unwrap(); let mut ssl = Ssl::new(&ctx).unwrap(); - assert!(ssl.add_chain_cert_pem(CERT).is_ok()); + assert!(ssl.add_chain_cert_pem(cert).is_ok()); }