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 new() -> EncryptionConfig
pub fn new() -> EncryptionConfig
Create a new encryption configuration.
Sourcepub fn with_algorithm(self, algorithm: EncryptionAlgorithm) -> EncryptionConfig
pub fn with_algorithm(self, algorithm: EncryptionAlgorithm) -> EncryptionConfig
Set the encryption algorithm.
Sourcepub fn with_key_derivation(self, kdf: KeyDerivation) -> EncryptionConfig
pub fn with_key_derivation(self, kdf: KeyDerivation) -> EncryptionConfig
Set the key derivation function.
Sourcepub fn with_key_rotation_interval(self, interval: Duration) -> EncryptionConfig
pub fn with_key_rotation_interval(self, interval: Duration) -> EncryptionConfig
Set the key rotation interval.
Sourcepub fn with_control_block_encryption(self, enabled: bool) -> EncryptionConfig
pub fn with_control_block_encryption(self, enabled: bool) -> EncryptionConfig
Enable/disable control block encryption.
Sourcepub fn with_message_queue_encryption(self, enabled: bool) -> EncryptionConfig
pub fn with_message_queue_encryption(self, enabled: bool) -> EncryptionConfig
Enable/disable message queue encryption.
Sourcepub fn with_kernel_state_encryption(self, enabled: bool) -> EncryptionConfig
pub fn with_kernel_state_encryption(self, enabled: bool) -> EncryptionConfig
Enable/disable kernel state encryption.
Sourcepub fn with_aad_prefix(self, prefix: Vec<u8>) -> EncryptionConfig
pub fn with_aad_prefix(self, prefix: Vec<u8>) -> EncryptionConfig
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
Source§impl Default for EncryptionConfig
impl Default for EncryptionConfig
Source§fn default() -> EncryptionConfig
fn default() -> EncryptionConfig
Returns the “default value” for a type. Read more
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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.