pub trait Tls13AeadAlgorithm: Send + Sync {
// Required methods
fn encrypter(&self, key: AeadKey, iv: Iv) -> Box<dyn MessageEncrypter>;
fn decrypter(&self, key: AeadKey, iv: Iv) -> Box<dyn MessageDecrypter>;
fn key_len(&self) -> usize;
fn extract_keys(
&self,
key: AeadKey,
iv: Iv,
) -> Result<ConnectionTrafficSecrets, UnsupportedOperationError>;
// Provided method
fn fips(&self) -> bool { ... }
}展开描述
Factory trait 用于 building MessageEncrypter 并 MessageDecrypter 用于 一个 TLS 1.3 cipher 套件)。
必需方法§
Sourcefn encrypter(&self, key: AeadKey, iv: Iv) -> Box<dyn MessageEncrypter>
fn encrypter(&self, key: AeadKey, iv: Iv) -> Box<dyn MessageEncrypter>
构建 MessageEncrypter 用于 the given key/iv.
Sourcefn decrypter(&self, key: AeadKey, iv: Iv) -> Box<dyn MessageDecrypter>
fn decrypter(&self, key: AeadKey, iv: Iv) -> Box<dyn MessageDecrypter>
构建 MessageDecrypter 用于 the given key/iv.
Sourcefn key_len(&self) -> usize
fn key_len(&self) -> usize
此 length of key in bytes required by encrypter() 并 decrypter()。
Sourcefn extract_keys(
&self,
key: AeadKey,
iv: Iv,
) -> Result<ConnectionTrafficSecrets, UnsupportedOperationError>
fn extract_keys( &self, key: AeadKey, iv: Iv, ) -> Result<ConnectionTrafficSecrets, UnsupportedOperationError>
Convert the 密钥材料 从 key/iv, into 一个 ConnectionTrafficSecrets item.
May return UnsupportedOperationError if the AEAD 算法 is not 一个 supported
variant of ConnectionTrafficSecrets。