init shared_secret on demand

This commit is contained in:
shimun 2020-04-13 20:01:09 +02:00
parent e86953077b
commit 03d55f3ebd
Signed by: shimun
GPG Key ID: E81D8382DC2F971B

View File

@ -156,7 +156,12 @@ impl HmacSecret {
salt: &[u8; 32],
salt2: Option<&[u8; 32]>,
) -> FidoResult<Value> {
let shared_secret = device.shared_secret.as_ref().unwrap();
let shared_secret = loop {
if let Some(ref secret) = device.shared_secret {
break secret;
}
device.init_shared_secret()?;
};
let mut encryptor = shared_secret.encryptor();
let mut salt_enc = [0u8; 64];
let mut output = RefWriteBuffer::new(&mut salt_enc);