Struct rustls::Tls12CipherSuite
source · pub struct Tls12CipherSuite {
pub common: CipherSuiteCommon,
pub(crate) hmac_algorithm: Algorithm,
pub kx: KeyExchangeAlgorithm,
pub sign: &'static [SignatureScheme],
pub fixed_iv_len: usize,
pub explicit_nonce_len: usize,
pub(crate) aead_alg: &'static dyn Tls12AeadAlgorithm,
}
Expand description
A TLS 1.2 cipher suite supported by rustls.
Fields§
§common: CipherSuiteCommon
Common cipher suite fields.
hmac_algorithm: Algorithm
§kx: KeyExchangeAlgorithm
How to exchange/agree keys.
sign: &'static [SignatureScheme]
How to sign messages for authentication.
fixed_iv_len: usize
How long the fixed part of the ‘IV’ is.
This isn’t usually an IV, but we continue the terminology misuse to match the standard.
explicit_nonce_len: usize
This is a non-standard extension which extends the key block to provide an initial explicit nonce offset, in a deterministic and safe way. GCM needs this, chacha20poly1305 works this way by design.
aead_alg: &'static dyn Tls12AeadAlgorithm
Implementations§
source§impl Tls12CipherSuite
impl Tls12CipherSuite
sourcepub fn resolve_sig_schemes(
&self,
offered: &[SignatureScheme],
) -> Vec<SignatureScheme>
pub fn resolve_sig_schemes( &self, offered: &[SignatureScheme], ) -> Vec<SignatureScheme>
Resolve the set of supported SignatureScheme
s from the
offered SupportedSignatureSchemes
. If we return an empty
set, the handshake terminates.
sourcepub(crate) fn hash_algorithm(&self) -> &'static Algorithm
pub(crate) fn hash_algorithm(&self) -> &'static Algorithm
Which hash function to use with this suite.
Trait Implementations§
source§impl Debug for Tls12CipherSuite
impl Debug for Tls12CipherSuite
source§impl From<&'static Tls12CipherSuite> for SupportedCipherSuite
impl From<&'static Tls12CipherSuite> for SupportedCipherSuite
source§fn from(s: &'static Tls12CipherSuite) -> Self
fn from(s: &'static Tls12CipherSuite) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for Tls12CipherSuite
impl !RefUnwindSafe for Tls12CipherSuite
impl Send for Tls12CipherSuite
impl Sync for Tls12CipherSuite
impl Unpin for Tls12CipherSuite
impl !UnwindSafe for Tls12CipherSuite
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
Mutably borrows from an owned value. Read more