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