Add SslContextBuilder::set_cert_store

This commit is contained in:
Steven Fackler 2020-04-07 17:05:38 -07:00
parent b027f16031
commit 40e66bab6b
2 changed files with 13 additions and 0 deletions

View File

@ -901,6 +901,7 @@ extern "C" {
#[cfg(any(ossl110, libressl273))] #[cfg(any(ossl110, libressl273))]
pub fn SSL_CTX_up_ref(x: *mut SSL_CTX) -> c_int; pub fn SSL_CTX_up_ref(x: *mut SSL_CTX) -> c_int;
pub fn SSL_CTX_get_cert_store(ctx: *const SSL_CTX) -> *mut X509_STORE; pub fn SSL_CTX_get_cert_store(ctx: *const SSL_CTX) -> *mut X509_STORE;
pub fn SSL_CTX_set_cert_store(ctx: *mut SSL_CTX, store: *mut X509_STORE);
pub fn SSL_get_current_cipher(ssl: *const SSL) -> *const SSL_CIPHER; pub fn SSL_get_current_cipher(ssl: *const SSL) -> *const SSL_CIPHER;
pub fn SSL_CIPHER_get_bits(cipher: *const SSL_CIPHER, alg_bits: *mut c_int) -> c_int; pub fn SSL_CIPHER_get_bits(cipher: *const SSL_CIPHER, alg_bits: *mut c_int) -> c_int;

View File

@ -762,6 +762,18 @@ impl SslContextBuilder {
} }
} }
/// Replaces the context's certificate store.
///
/// This corresponds to [`SSL_CTX_set_cert_store`].
///
/// [`SSL_CTX_set_cert_store`]: https://www.openssl.org/docs/man1.0.2/man3/SSL_CTX_set_cert_store.html
pub fn set_cert_store(&mut self, cert_store: X509Store) {
unsafe {
ffi::SSL_CTX_set_cert_store(self.as_ptr(), cert_store.as_ptr());
mem::forget(cert_store);
}
}
/// Controls read ahead behavior. /// Controls read ahead behavior.
/// ///
/// If enabled, OpenSSL will read as much data as is available from the underlying stream, /// If enabled, OpenSSL will read as much data as is available from the underlying stream,