Struct lpc55::secure_binary::Keyblob
source · [−]pub struct Keyblob { /* private fields */ }
Expand description
For the proprietary use case, firmware inside the “commands” is encrypted. This works by using a “random” encryption key and a “random” HMAC key, both of which are AES-keywrapped with a “secure boot” key encryption key (denoted SBKEK), which is pre-shared with devices that will receive the SB file.
In the non-proprietary use-case (or any situation where only authenticity is of
interest, not confidentiality), the SBKEK is known, hence also both dek and mac keys.
This means that the dek is totally useless, and the mac key can just as well consist
of all zeros too. Therefore, we implement Default
for this struct.
Implementations
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Keyblob
impl<'de> Deserialize<'de> for Keyblob
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Keyblob
impl Send for Keyblob
impl Sync for Keyblob
impl Unpin for Keyblob
impl UnwindSafe for Keyblob
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more