From 1535bfa0ce2490fd7097e9c82e30cf3464ca57fa Mon Sep 17 00:00:00 2001 From: byar Date: Fri, 13 Sep 2024 08:48:35 +0200 Subject: [PATCH 1/3] simplifed signed signature verification --- lib/src/core/comms/secure_channel.rs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/src/core/comms/secure_channel.rs b/lib/src/core/comms/secure_channel.rs index 87905ff77..93b73acbe 100644 --- a/lib/src/core/comms/secure_channel.rs +++ b/lib/src/core/comms/secure_channel.rs @@ -1188,21 +1188,20 @@ impl SecureChannel { } MessageSecurityMode::Sign => { self.expect_supported_security_policy(); - // Copy everything - let all = ..src.len(); - trace!("copying from slice {:?}", all); - dst[all].copy_from_slice(&src[all]); + dst.copy_from_slice(&src); + // Verify signature + let signature_range = signed_range.end..src.len(); + let verification_key = self.verification_key(); trace!( - "Verifying range from {:?} to signature {}..", + "Verifying range from {:?} to signature {:?}..", signed_range, - signed_range.end + signature_range ); - let verification_key = self.verification_key(); self.security_policy.symmetric_verify_signature( verification_key, - &dst[signed_range.clone()], - &dst[signed_range.end..], + &dst[signed_range], + &dst[signature_range], )?; Ok(encrypted_range.end) From 5d5eb6f99a24e9e9db069b72f8c834ab01318acc Mon Sep 17 00:00:00 2001 From: byar Date: Fri, 13 Sep 2024 10:04:39 +0200 Subject: [PATCH 2/3] updated signature veryfing trace message (same as in decrypt match arm) --- lib/src/core/comms/secure_channel.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/core/comms/secure_channel.rs b/lib/src/core/comms/secure_channel.rs index 93b73acbe..4d0b4a7f1 100644 --- a/lib/src/core/comms/secure_channel.rs +++ b/lib/src/core/comms/secure_channel.rs @@ -1194,7 +1194,7 @@ impl SecureChannel { let signature_range = signed_range.end..src.len(); let verification_key = self.verification_key(); trace!( - "Verifying range from {:?} to signature {:?}..", + "signed range = {:?}, signature range = {:?}", signed_range, signature_range ); From 4514d493e09861543669699dc52bf788fa6d9870 Mon Sep 17 00:00:00 2001 From: byar Date: Fri, 13 Sep 2024 10:49:48 +0200 Subject: [PATCH 3/3] removed redundant reference --- lib/src/core/comms/secure_channel.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/core/comms/secure_channel.rs b/lib/src/core/comms/secure_channel.rs index 4d0b4a7f1..74d9b11fb 100644 --- a/lib/src/core/comms/secure_channel.rs +++ b/lib/src/core/comms/secure_channel.rs @@ -1188,7 +1188,7 @@ impl SecureChannel { } MessageSecurityMode::Sign => { self.expect_supported_security_policy(); - dst.copy_from_slice(&src); + dst.copy_from_slice(src); // Verify signature let signature_range = signed_range.end..src.len();