#[repr(C)]pub struct SignatureInFlash {
pub _jal_instruction: u32,
pub signature: [u8; 64],
pub aad_len: u32,
pub aad: [u8; 60],
pub sealed_data: SealedFields,
}Expand description
Representation of the signature block in memory.
Fields§
§_jal_instruction: u32This is a field that contains a jump instruction such that the CPU boot passes over this structure on the way to the boot code.
signature: [u8; 64]The actual signature.
aad_len: u32aad_len also specifies the signing protocol. If it is 0, then a pure ed25519ph
signature is assumed. If it is greater than 0, then it’s assumed to be a
FIDO2/WebAuthn signature format using ed25519, where the signature is computed as:
signature = Ed25519.sign(authenticatorData || SHA-256(clientData))
authenticatorData is a field that is at least 37 bytes in size. The size is influenced
by the type of signing and operation, but for our implementation I think it stays
fixed at 37 bytes.
aad: [u8; 60]§sealed_data: SealedFieldsAll data from this point onward are included in the signature computation.
Implementations§
Source§impl SignatureInFlash
impl SignatureInFlash
pub const fn sealed_data_offset() -> usize
Trait Implementations§
Source§impl AsMut<[u8]> for SignatureInFlash
impl AsMut<[u8]> for SignatureInFlash
Source§impl AsRef<[u8]> for SignatureInFlash
impl AsRef<[u8]> for SignatureInFlash
Source§impl Clone for SignatureInFlash
impl Clone for SignatureInFlash
Source§fn clone(&self) -> SignatureInFlash
fn clone(&self) -> SignatureInFlash
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for SignatureInFlash
impl Default for SignatureInFlash
impl Copy for SignatureInFlash
impl Pod for SignatureInFlash
Auto Trait Implementations§
impl Freeze for SignatureInFlash
impl RefUnwindSafe for SignatureInFlash
impl Send for SignatureInFlash
impl Sync for SignatureInFlash
impl Unpin for SignatureInFlash
impl UnwindSafe for SignatureInFlash
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.