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
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.
Trait Implementations§
Source§impl Debug for Tls13CipherSuite
impl Debug for Tls13CipherSuite
Source§impl From<&'static Tls13CipherSuite> for SupportedCipherSuite
impl From<&'static Tls13CipherSuite> for SupportedCipherSuite
Source§fn from(s: &'static Tls13CipherSuite) -> Self
fn from(s: &'static Tls13CipherSuite) -> Self
Source§impl PartialEq for Tls13CipherSuite
impl PartialEq for Tls13CipherSuite
Auto Trait Implementations§
impl Freeze for Tls13CipherSuite
impl !RefUnwindSafe for Tls13CipherSuite
impl Send for Tls13CipherSuite
impl Sync for Tls13CipherSuite
impl Unpin for Tls13CipherSuite
impl !UnwindSafe for Tls13CipherSuite
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 80 bytes