pub fn decrypt(
verifier: Option<&[u8; 32]>,
encrypted_content: &[u8],
mode: Decrypt
) -> Result<(Vec<u8>, [u8; 32]), &'static str>Expand description
decrypts and verifies content.
use rgp::{decrypt, extract_components_mut, Components, Decrypt};
match extract_components_mut(0, &mut encrypted_content) {
Components::Dh(key) => {
let (decrypted_content, _) = decrypt(
Some(&verifier),
&encrypted_content,
Decrypt::Dh(key, sender_pub_key, receiver_priv_key),
)
.unwrap();
}
Components::Hmac(itr) => {
let (decrypted_content, _) = decrypt(
Some(&verifier),
&encrypted_content,
Decrypt::Hmac(hmac_key, hmac_value),
)
.unwrap();
}
Components::Session => {
let (decrypted_content, _) = decrypt(
Some(&verifier),
&encrypted_content,
Decrypt::Session(session_key),
)
.unwrap();
}
};