Struct nuts_container::CreateOptionsBuilder
source · pub struct CreateOptionsBuilder(/* private fields */);Expand description
Utility used to create a CreateOptions instance.
Implementations§
source§impl CreateOptionsBuilder
impl CreateOptionsBuilder
sourcepub fn new(cipher: Cipher) -> Self
pub fn new(cipher: Cipher) -> Self
Creates a builder instance.
The container should use the given cipher.
sourcepub fn with_password_callback<Cb: Fn() -> Result<Vec<u8>, String> + 'static>(
self,
callback: Cb
) -> Self
pub fn with_password_callback<Cb: Fn() -> Result<Vec<u8>, String> + 'static>( self, callback: Cb ) -> Self
Assigns a password callback to the container.
A password is needed, when encryption is enabled for the container.
Based on the password a wrapping key is generated, which encrypts the
secret part of the header. If encryption is enabled but no password
callback is assigned, an Error::NoPassword error is raised. If
encryption is disabled, no password is needed and an assigned callback
is never called.
On success the callback returns the password (represented as an
Vec<u8>) wrapped into an Ok. On any
failure an Err with an error message must be
returned.
sourcepub fn with_kdf(self, kdf: Kdf) -> Self
pub fn with_kdf(self, kdf: Kdf) -> Self
Uses the given key derivation function.
If the cipher is set to Cipher::None, then the setting is
discarded; you don’t need a KDF for the None cipher.
sourcepub fn build<B: Backend>(self) -> ContainerResult<CreateOptions, B>
pub fn build<B: Backend>(self) -> ContainerResult<CreateOptions, B>
Creates the CreateOptions instance.
Before the CreateOptions instance is created all options passed to
the builder are validated.
Errors
If validation has failed an Error is returned.