Struct rustls::Tls13CipherSuite

source ·
pub struct Tls13CipherSuite {
    pub common: CipherSuiteCommon,
    pub hkdf_provider: &'static dyn Hkdf,
    pub aead_alg: &'static dyn Tls13AeadAlgorithm,
    pub quic: Option<&'static dyn Algorithm>,
}
Expand description

A TLS 1.3 cipher suite supported by rustls.

Fields§

§common: CipherSuiteCommon

Common cipher suite fields.

§hkdf_provider: &'static dyn Hkdf

How to complete HKDF with the suite’s hash function.

If you have a HKDF implementation, you should directly implement the crypto::tls13::Hkdf trait (and associated).

If not, you can implement the crypto::hmac::Hmac trait (and associated), and then use crypto::tls13::HkdfUsingHmac.

§aead_alg: &'static dyn Tls13AeadAlgorithm

How to produce a MessageDecrypter or MessageEncrypter from raw key material.

§quic: Option<&'static dyn Algorithm>

How to create QUIC header and record protection algorithms for this suite.

Provide None to opt out of QUIC support for this suite. It will not be offered in QUIC handshakes.

Implementations§

source§

impl Tls13CipherSuite

source

pub fn can_resume_from(&self, prev: &'static Self) -> Option<&'static Self>

Can a session using suite self resume from suite prev?

source

pub fn fips(&self) -> bool

Return true if this is backed by a FIPS-approved implementation.

This means all the constituent parts that do cryptography return true for fips().

source

pub fn quic_suite(&'static self) -> Option<Suite>

Returns a quic::Suite for the ciphersuite, if supported.

Trait Implementations§

source§

impl Debug for Tls13CipherSuite

source§

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

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

impl From<&'static Tls13CipherSuite> for SupportedCipherSuite

source§

fn from(s: &'static Tls13CipherSuite) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Tls13CipherSuite

source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

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