Struct openssl::ssl::SslContext [] [src]

pub struct SslContext {
    // some fields omitted
}

An SSL context object

Internally ref-counted, use .clone() in the same way as Rc and Arc.

Methods

impl SslContext

fn new(method: SslMethod) -> Result<SslContext, SslError>

Creates a new SSL context.

fn set_verify(&mut self, mode: SslVerifyMode, verify: Option<VerifyCallback>)

Configures the certificate verification method for new connections.

fn set_verify_with_data<T>(&mut self, mode: SslVerifyMode, verify: VerifyCallbackData<T>, data: T) where T: Any + 'static

Configures the certificate verification method for new connections also carrying supplied data.

fn set_servername_callback(&mut self, callback: Option<ServerNameCallback>)

Configures the server name indication (SNI) callback for new connections

obtain the server name with get_servername then set the corresponding context with set_ssl_context

fn set_servername_callback_with_data<T>(&mut self, callback: ServerNameCallbackData<T>, data: T) where T: Any + 'static

Configures the server name indication (SNI) callback for new connections carrying supplied data

fn set_verify_depth(&mut self, depth: u32)

Sets verification depth

fn set_read_ahead(&self, m: u32)

fn set_tmp_dh(&self, dh: DH) -> Result<(), SslError>

fn set_default_verify_paths(&mut self) -> Result<(), SslError>

Use the default locations of trusted certificates for verification.

These locations are read from the SSL_CERT_FILE and SSL_CERT_DIR environment variables if present, or defaults specified at OpenSSL build time otherwise.

fn set_CA_file<P: AsRef<Path>>(&mut self, file: P) -> Result<(), SslError>

Specifies the file that contains trusted CA certificates.

fn set_session_id_context(&mut self, sid_ctx: &[u8]) -> Result<(), SslError>

Set the context identifier for sessions

This value identifies the server's session cache to a clients, telling them when they're able to reuse sessions. Should be set to a unique value per server, unless multiple servers share a session cache.

This value should be set when using client certificates, or each request will fail handshake and need to be restarted.

fn set_certificate_file<P: AsRef<Path>>(&mut self, file: P, file_type: X509FileType) -> Result<(), SslError>

Specifies the file that contains certificate

fn set_certificate_chain_file<P: AsRef<Path>>(&mut self, file: P, file_type: X509FileType) -> Result<(), SslError>

Specifies the file that contains certificate chain

fn set_certificate(&mut self, cert: &X509) -> Result<(), SslError>

Specifies the certificate

fn add_extra_chain_cert(&mut self, cert: &X509) -> Result<(), SslError>

Adds a certificate to the certificate chain presented together with the certificate specified using set_certificate()

fn set_private_key_file<P: AsRef<Path>>(&mut self, file: P, file_type: X509FileType) -> Result<(), SslError>

Specifies the file that contains private key

fn set_private_key(&mut self, key: &PKey) -> Result<(), SslError>

Specifies the private key

fn check_private_key(&mut self) -> Result<(), SslError>

Check consistency of private key and certificate

fn set_cipher_list(&mut self, cipher_list: &str) -> Result<(), SslError>

fn set_options(&mut self, option: SslContextOptions) -> SslContextOptions

fn get_options(&mut self) -> SslContextOptions

fn clear_options(&mut self, option: SslContextOptions) -> SslContextOptions

Trait Implementations

impl Send for SslContext

impl Sync for SslContext

impl Clone for SslContext

fn clone(&self) -> Self

1.0.0fn clone_from(&mut self, source: &Self)

impl Debug for SslContext

fn fmt(&self, fmt: &mut Formatter) -> Result

impl Drop for SslContext

fn drop(&mut self)

impl<'a> IntoSsl for &'a SslContext

fn into_ssl(self) -> Result<Ssl, SslError>