X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Foffers%2Fsigner.rs;h=c5a96cbf18491e3f22eb830c879eb4d274e9abc3;hb=478911d42a8b47020511bdcb793756723f3801be;hp=4d5d4662bd62b806cb78543e41653c266a02146a;hpb=073f0780f6b2d72de57e5bb5a7b690c0206fa40c;p=rust-lightning diff --git a/lightning/src/offers/signer.rs b/lightning/src/offers/signer.rs index 4d5d4662..c5a96cbf 100644 --- a/lightning/src/offers/signer.rs +++ b/lightning/src/offers/signer.rs @@ -14,7 +14,6 @@ use bitcoin::hashes::cmp::fixed_time_eq; use bitcoin::hashes::hmac::{Hmac, HmacEngine}; use bitcoin::hashes::sha256::Hash as Sha256; use bitcoin::secp256k1::{KeyPair, PublicKey, Secp256k1, SecretKey, self}; -use core::convert::TryFrom; use core::fmt; use crate::ln::channelmanager::PaymentId; use crate::ln::inbound_payment::{ExpandedKey, IV_LEN, Nonce}; @@ -183,7 +182,7 @@ impl MetadataMaterial { let mut bytes = self.encrypted_payment_id.map(|id| id.to_vec()).unwrap_or(vec![]); bytes.extend_from_slice(self.nonce.as_slice()); - bytes.extend_from_slice(&Hmac::from_engine(self.hmac).into_inner()); + bytes.extend_from_slice(Hmac::from_engine(self.hmac).as_byte_array()); bytes } @@ -197,7 +196,7 @@ impl MetadataMaterial { bytes.extend_from_slice(self.nonce.as_slice()); let hmac = Hmac::from_engine(self.hmac); - let privkey = SecretKey::from_slice(hmac.as_inner()).unwrap(); + let privkey = SecretKey::from_slice(hmac.as_byte_array()).unwrap(); let keys = KeyPair::from_secret_key(secp_ctx, &privkey); (bytes, keys) @@ -218,7 +217,7 @@ pub(super) fn derive_keys(nonce: Nonce, expanded_key: &ExpandedKey) -> KeyPair { const IV_BYTES: &[u8; IV_LEN] = b"LDK Invoice ~~~~"; let secp_ctx = Secp256k1::new(); let hmac = Hmac::from_engine(expanded_key.hmac_for_offer(nonce, IV_BYTES)); - let privkey = SecretKey::from_slice(hmac.as_inner()).unwrap(); + let privkey = SecretKey::from_slice(hmac.as_byte_array()).unwrap(); KeyPair::from_secret_key(&secp_ctx, &privkey) } @@ -283,7 +282,7 @@ fn verify_metadata( ) -> Result, ()> { if metadata.len() == Nonce::LENGTH { let derived_keys = KeyPair::from_secret_key( - secp_ctx, &SecretKey::from_slice(hmac.as_inner()).unwrap() + secp_ctx, &SecretKey::from_slice(hmac.as_byte_array()).unwrap() ); if fixed_time_eq(&signing_pubkey.serialize(), &derived_keys.public_key().serialize()) { Ok(Some(derived_keys)) @@ -291,7 +290,7 @@ fn verify_metadata( Err(()) } } else if metadata[Nonce::LENGTH..].len() == Sha256::LEN { - if fixed_time_eq(&metadata[Nonce::LENGTH..], &hmac.into_inner()) { + if fixed_time_eq(&metadata[Nonce::LENGTH..], &hmac.to_byte_array()) { Ok(None) } else { Err(())