diff options
Diffstat (limited to 'embassy-boot/boot/src/firmware_updater/blocking.rs')
| -rw-r--r-- | embassy-boot/boot/src/firmware_updater/blocking.rs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/embassy-boot/boot/src/firmware_updater/blocking.rs b/embassy-boot/boot/src/firmware_updater/blocking.rs index c4c142169..f1368540d 100644 --- a/embassy-boot/boot/src/firmware_updater/blocking.rs +++ b/embassy-boot/boot/src/firmware_updater/blocking.rs | |||
| @@ -86,8 +86,8 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE> | |||
| 86 | #[cfg(feature = "_verify")] | 86 | #[cfg(feature = "_verify")] |
| 87 | pub fn verify_and_mark_updated( | 87 | pub fn verify_and_mark_updated( |
| 88 | &mut self, | 88 | &mut self, |
| 89 | _public_key: &[u8], | 89 | _public_key: &[u8; 32], |
| 90 | _signature: &[u8], | 90 | _signature: &[u8; 64], |
| 91 | _update_len: u32, | 91 | _update_len: u32, |
| 92 | ) -> Result<(), FirmwareUpdaterError> { | 92 | ) -> Result<(), FirmwareUpdaterError> { |
| 93 | assert!(_update_len <= self.dfu.capacity() as u32); | 93 | assert!(_update_len <= self.dfu.capacity() as u32); |
| @@ -96,14 +96,14 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE> | |||
| 96 | 96 | ||
| 97 | #[cfg(feature = "ed25519-dalek")] | 97 | #[cfg(feature = "ed25519-dalek")] |
| 98 | { | 98 | { |
| 99 | use ed25519_dalek::{PublicKey, Signature, SignatureError, Verifier}; | 99 | use ed25519_dalek::{Signature, SignatureError, Verifier, VerifyingKey}; |
| 100 | 100 | ||
| 101 | use crate::digest_adapters::ed25519_dalek::Sha512; | 101 | use crate::digest_adapters::ed25519_dalek::Sha512; |
| 102 | 102 | ||
| 103 | let into_signature_error = |e: SignatureError| FirmwareUpdaterError::Signature(e.into()); | 103 | let into_signature_error = |e: SignatureError| FirmwareUpdaterError::Signature(e.into()); |
| 104 | 104 | ||
| 105 | let public_key = PublicKey::from_bytes(_public_key).map_err(into_signature_error)?; | 105 | let public_key = VerifyingKey::from_bytes(_public_key).map_err(into_signature_error)?; |
| 106 | let signature = Signature::from_bytes(_signature).map_err(into_signature_error)?; | 106 | let signature = Signature::from_bytes(_signature); |
| 107 | 107 | ||
| 108 | let mut message = [0; 64]; | 108 | let mut message = [0; 64]; |
| 109 | let mut chunk_buf = [0; 2]; | 109 | let mut chunk_buf = [0; 2]; |
| @@ -113,7 +113,6 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE> | |||
| 113 | } | 113 | } |
| 114 | #[cfg(feature = "ed25519-salty")] | 114 | #[cfg(feature = "ed25519-salty")] |
| 115 | { | 115 | { |
| 116 | use salty::constants::{PUBLICKEY_SERIALIZED_LENGTH, SIGNATURE_SERIALIZED_LENGTH}; | ||
| 117 | use salty::{PublicKey, Signature}; | 116 | use salty::{PublicKey, Signature}; |
| 118 | 117 | ||
| 119 | use crate::digest_adapters::salty::Sha512; | 118 | use crate::digest_adapters::salty::Sha512; |
| @@ -122,10 +121,8 @@ impl<'d, DFU: NorFlash, STATE: NorFlash> BlockingFirmwareUpdater<'d, DFU, STATE> | |||
| 122 | FirmwareUpdaterError::Signature(signature::Error::default()) | 121 | FirmwareUpdaterError::Signature(signature::Error::default()) |
| 123 | } | 122 | } |
| 124 | 123 | ||
| 125 | let public_key: [u8; PUBLICKEY_SERIALIZED_LENGTH] = _public_key.try_into().map_err(into_signature_error)?; | 124 | let public_key = PublicKey::try_from(_public_key).map_err(into_signature_error)?; |
| 126 | let public_key = PublicKey::try_from(&public_key).map_err(into_signature_error)?; | 125 | let signature = Signature::try_from(_signature).map_err(into_signature_error)?; |
| 127 | let signature: [u8; SIGNATURE_SERIALIZED_LENGTH] = _signature.try_into().map_err(into_signature_error)?; | ||
| 128 | let signature = Signature::try_from(&signature).map_err(into_signature_error)?; | ||
| 129 | 126 | ||
| 130 | let mut message = [0; 64]; | 127 | let mut message = [0; 64]; |
| 131 | let mut chunk_buf = [0; 2]; | 128 | let mut chunk_buf = [0; 2]; |
