pub struct EncryptionConfig {
pub algorithm: EncryptionAlgorithm,
pub key_derivation: KeyDerivation,
pub key_rotation_interval: Duration,
pub encrypt_control_blocks: bool,
pub encrypt_message_queues: bool,
pub encrypt_kernel_state: bool,
pub aad_prefix: Option<Vec<u8>>,
}Expand description
Configuration for memory encryption.
Fields§
§algorithm: EncryptionAlgorithmEncryption algorithm to use
key_derivation: KeyDerivationKey derivation function
key_rotation_interval: DurationHow often to rotate encryption keys
encrypt_control_blocks: boolWhether to encrypt control blocks
encrypt_message_queues: boolWhether to encrypt message queues
encrypt_kernel_state: boolWhether to encrypt kernel state
aad_prefix: Option<Vec<u8>>Additional authenticated data prefix
Implementations§
Source§impl EncryptionConfig
impl EncryptionConfig
Sourcepub fn with_algorithm(self, algorithm: EncryptionAlgorithm) -> Self
pub fn with_algorithm(self, algorithm: EncryptionAlgorithm) -> Self
Set the encryption algorithm.
Sourcepub fn with_key_derivation(self, kdf: KeyDerivation) -> Self
pub fn with_key_derivation(self, kdf: KeyDerivation) -> Self
Set the key derivation function.
Sourcepub fn with_key_rotation_interval(self, interval: Duration) -> Self
pub fn with_key_rotation_interval(self, interval: Duration) -> Self
Set the key rotation interval.
Sourcepub fn with_control_block_encryption(self, enabled: bool) -> Self
pub fn with_control_block_encryption(self, enabled: bool) -> Self
Enable/disable control block encryption.
Sourcepub fn with_message_queue_encryption(self, enabled: bool) -> Self
pub fn with_message_queue_encryption(self, enabled: bool) -> Self
Enable/disable message queue encryption.
Sourcepub fn with_kernel_state_encryption(self, enabled: bool) -> Self
pub fn with_kernel_state_encryption(self, enabled: bool) -> Self
Enable/disable kernel state encryption.
Sourcepub fn with_aad_prefix(self, prefix: Vec<u8>) -> Self
pub fn with_aad_prefix(self, prefix: Vec<u8>) -> Self
Set additional authenticated data prefix.
Trait Implementations§
Source§impl Clone for EncryptionConfig
impl Clone for EncryptionConfig
Source§fn clone(&self) -> EncryptionConfig
fn clone(&self) -> EncryptionConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EncryptionConfig
impl Debug for EncryptionConfig
Auto Trait Implementations§
impl Freeze for EncryptionConfig
impl RefUnwindSafe for EncryptionConfig
impl Send for EncryptionConfig
impl Sync for EncryptionConfig
impl Unpin for EncryptionConfig
impl UnwindSafe for EncryptionConfig
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.