From 1f0693385b5b6955690f0943ce837d79660386d8 Mon Sep 17 00:00:00 2001 From: Shing Him Ng Date: Sat, 25 Jan 2025 16:18:12 -0600 Subject: [PATCH] Change HpkeError::Secp256k1 into the opaque InvalidPublicKey error Making this into an opaque error will prevent leaking implementation details --- payjoin/src/hpke.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/payjoin/src/hpke.rs b/payjoin/src/hpke.rs index 3cf360d0..8c91ef5c 100644 --- a/payjoin/src/hpke.rs +++ b/payjoin/src/hpke.rs @@ -271,7 +271,7 @@ fn pad_plaintext(msg: &mut Vec, padded_length: usize) -> Result<&[u8], HpkeE /// Error from de/encrypting a v2 Hybrid Public Key Encryption payload. #[derive(Debug, PartialEq)] pub enum HpkeError { - Secp256k1(secp256k1::Error), + InvalidPublicKey, Hpke(hpke::HpkeError), InvalidKeyLength, PayloadTooLarge { actual: usize, max: usize }, @@ -283,7 +283,7 @@ impl From for HpkeError { } impl From for HpkeError { - fn from(value: secp256k1::Error) -> Self { Self::Secp256k1(value) } + fn from(_: secp256k1::Error) -> Self { Self::InvalidPublicKey } } impl fmt::Display for HpkeError { @@ -301,7 +301,7 @@ impl fmt::Display for HpkeError { ) } PayloadTooShort => write!(f, "Payload too small"), - Secp256k1(e) => e.fmt(f), + InvalidPublicKey => write!(f, "Invalid public key") } } } @@ -314,7 +314,7 @@ impl error::Error for HpkeError { Hpke(e) => Some(e), PayloadTooLarge { .. } => None, InvalidKeyLength | PayloadTooShort => None, - Secp256k1(e) => Some(e), + InvalidPublicKey => None, } } }