Struct curl::easy::SslOpt

source ·
pub struct SslOpt { /* private fields */ }
Expand description

Structure which stores possible ssl options to pass to ssl_options.

Implementations§

source§

impl SslOpt

source

pub fn new() -> SslOpt

Creates a new set of SSL options.

source

pub fn auto_client_cert(&mut self, on: bool) -> &mut SslOpt

Tell libcurl to automatically locate and use a client certificate for authentication, when requested by the server.

This option is only supported for Schannel (the native Windows SSL library). Prior to 7.77.0 this was the default behavior in libcurl with Schannel.

Since the server can request any certificate that supports client authentication in the OS certificate store it could be a privacy violation and unexpected. (Added in 7.77.0)

source

pub fn native_ca(&mut self, on: bool) -> &mut SslOpt

Tell libcurl to use the operating system’s native CA store for certificate verification.

Works only on Windows when built to use OpenSSL.

This option is experimental and behavior is subject to change. (Added in 7.71.0)

source

pub fn revoke_best_effort(&mut self, on: bool) -> &mut SslOpt

Tells libcurl to ignore certificate revocation checks in case of missing or offline distribution points for those SSL backends where such behavior is present.

This option is only supported for Schannel (the native Windows SSL library).

If combined with CURLSSLOPT_NO_REVOKE, the latter takes precedence. (Added in 7.70.0)

source

pub fn no_partial_chain(&mut self, on: bool) -> &mut SslOpt

Tells libcurl to not accept “partial” certificate chains, which it otherwise does by default.

This option is only supported for OpenSSL and will fail the certificate verification if the chain ends with an intermediate certificate and not with a root cert. (Added in 7.68.0)

source

pub fn no_revoke(&mut self, on: bool) -> &mut SslOpt

Tells libcurl to disable certificate revocation checks for those SSL backends where such behavior is present.

Currently this option is only supported for WinSSL (the native Windows SSL library), with an exception in the case of Windows’ Untrusted Publishers blacklist which it seems can’t be bypassed. This option may have broader support to accommodate other SSL backends in the future. https://curl.haxx.se/docs/ssl-compared.html

source

pub fn allow_beast(&mut self, on: bool) -> &mut SslOpt

Tells libcurl to not attempt to use any workarounds for a security flaw in the SSL3 and TLS1.0 protocols.

If this option isn’t used or this bit is set to 0, the SSL layer libcurl uses may use a work-around for this flaw although it might cause interoperability problems with some (older) SSL implementations.

WARNING: avoiding this work-around lessens the security, and by setting this option to 1 you ask for exactly that. This option is only supported for DarwinSSL, NSS and OpenSSL.

Trait Implementations§

source§

impl Clone for SslOpt

source§

fn clone(&self) -> SslOpt

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for SslOpt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.