pub struct Tls13CipherSuite {
pub common: CipherSuiteCommon,
pub protocol_version: &'static Tls13Version,
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.
protocol_version: &'static Tls13Version
The associated protocol version.
This field should have the value rustls::version::TLS13_VERSION
.
This value contains references to the TLS1.3 protocol handling code.
This means that a program that does not contain any Tls13CipherSuite
values also does not contain any reference to the TLS1.3 protocol handling
code, and the linker can remove it.
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
impl Tls13CipherSuite
Sourcepub fn can_resume_from(&self, prev: &'static Self) -> Option<&'static Self>
pub fn can_resume_from(&self, prev: &'static Self) -> Option<&'static Self>
Can a session using suite self resume from suite prev?
Sourcepub fn fips(&self) -> bool
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()
.
Sourcepub fn quic_suite(&'static self) -> Option<Suite>
pub fn quic_suite(&'static self) -> Option<Suite>
Returns a quic::Suite
for the ciphersuite, if supported.