pub struct KeyGenerator<SGen, SC, P> { /* private fields */ }
Implementations§
Source§impl<SGen: SymKeyGenWrapper, SC: SymKeyComposerWrapper, P: PkFromUserKeyWrapper> KeyGenerator<SGen, SC, P>
impl<SGen: SymKeyGenWrapper, SC: SymKeyComposerWrapper, P: PkFromUserKeyWrapper> KeyGenerator<SGen, SC, P>
Sourcepub fn done_fetch_sym_key(
master_key: &impl SymKeyWrapper,
server_out: &str,
non_registered: bool,
) -> Result<SC::SymmetricKeyWrapper, SdkError>
pub fn done_fetch_sym_key( master_key: &impl SymKeyWrapper, server_out: &str, non_registered: bool, ) -> Result<SC::SymmetricKeyWrapper, SdkError>
§Get the key from server fetch
Decrypted the server output with the master key
Sourcepub fn done_fetch_sym_key_by_private_key(
private_key: &impl SkWrapper,
server_out: &str,
non_registered: bool,
) -> Result<SC::SymmetricKeyWrapper, SdkError>
pub fn done_fetch_sym_key_by_private_key( private_key: &impl SkWrapper, server_out: &str, non_registered: bool, ) -> Result<SC::SymmetricKeyWrapper, SdkError>
§Get the key from server fetch
decrypt it with the private key
Sourcepub fn decrypt_sym_key(
master_key: &impl SymKeyWrapper,
encrypted_symmetric_key_info: &GeneratedSymKeyHeadServerOutput,
) -> Result<SC::SymmetricKeyWrapper, SdkError>
pub fn decrypt_sym_key( master_key: &impl SymKeyWrapper, encrypted_symmetric_key_info: &GeneratedSymKeyHeadServerOutput, ) -> Result<SC::SymmetricKeyWrapper, SdkError>
§Get a symmetric key which was encrypted by a master key
Backwards the process in prepare_register_sym_key.
- get the bytes of the encrypted symmetric key
- get the sym internal format by decrypting it with the master key
- return the key incl. key id in the right format
Sourcepub fn decrypt_sym_key_by_private_key(
private_key: &impl SkWrapper,
encrypted_symmetric_key_info: &GeneratedSymKeyHeadServerOutput,
) -> Result<SC::SymmetricKeyWrapper, SdkError>
pub fn decrypt_sym_key_by_private_key( private_key: &impl SkWrapper, encrypted_symmetric_key_info: &GeneratedSymKeyHeadServerOutput, ) -> Result<SC::SymmetricKeyWrapper, SdkError>
§Get a symmetric key which was encrypted by a public key
Sourcepub fn generate_non_register_sym_key(
master_key: &impl SymKeyWrapper,
) -> Result<(SGen::SymmetricKeyWrapper, GeneratedSymKeyHeadServerOutput), SdkError>
pub fn generate_non_register_sym_key( master_key: &impl SymKeyWrapper, ) -> Result<(SGen::SymmetricKeyWrapper, GeneratedSymKeyHeadServerOutput), SdkError>
§Simulates the server key output
This is used when the keys are not managed by the sentclose server.
First call prepare_register_sym_key_internally to encrypt the key, then decrypt_sym_key_internally to get the raw key.
Return both, the decrypted to use it, the encrypted to save it and use it for the next time with decrypt_sym_key_internally
pub fn generate_non_register_sym_key_by_public_key( reply_public_key: &UserPublicKeyData, ) -> Result<(SGen::SymmetricKeyWrapper, GeneratedSymKeyHeadServerOutput), SdkError>
Auto Trait Implementations§
impl<SGen, SC, P> Freeze for KeyGenerator<SGen, SC, P>
impl<SGen, SC, P> RefUnwindSafe for KeyGenerator<SGen, SC, P>
impl<SGen, SC, P> Send for KeyGenerator<SGen, SC, P>
impl<SGen, SC, P> Sync for KeyGenerator<SGen, SC, P>
impl<SGen, SC, P> Unpin for KeyGenerator<SGen, SC, P>
impl<SGen, SC, P> UnwindSafe for KeyGenerator<SGen, SC, P>
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