Struct br_ssl_client_certificate

Source
#[repr(C)]
pub struct br_ssl_client_certificate { pub auth_type: c_int, pub hash_id: c_int, pub chain: *const br_x509_certificate, pub chain_len: usize, }
Expand description

\brief Type for the client certificate, if requested by the server.

Fields§

§auth_type: c_int

\brief Authentication type.

This is either BR_AUTH_RSA (RSA signature), BR_AUTH_ECDSA (ECDSA signature), or BR_AUTH_ECDH (static ECDH key exchange).

§hash_id: c_int

\brief Hash function for computing the CertificateVerify.

This is the symbolic identifier for the hash function that will be used to produce the hash of handshake messages, to be signed into the CertificateVerify. For full static ECDH (client and server certificates are both EC in the same curve, and static ECDH is used), this value is set to -1.

Take care that with TLS 1.0 and 1.1, that value MUST match the protocol requirements: value must be 0 (MD5+SHA-1) for a RSA signature, or 2 (SHA-1) for an ECDSA signature. Only TLS 1.2 allows for other hash functions.

§chain: *const br_x509_certificate

\brief Certificate chain to send to the server.

This is an array of br_x509_certificate objects, each normally containing a DER-encoded certificate. The client code does not try to decode these elements. If there is no chain to send to the server, then this pointer shall be set to NULL.

§chain_len: usize

\brief Certificate chain length (number of certificates).

If there is no chain to send to the server, then this value shall be set to 0.

Trait Implementations§

Source§

impl Clone for br_ssl_client_certificate

Source§

fn clone(&self) -> br_ssl_client_certificate

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 br_ssl_client_certificate

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Copy for br_ssl_client_certificate

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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,

Source§

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>,

Source§

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>,

Source§

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.