Trait tugger_apple_codesign::Blob[][src]

pub trait Blob<'a> where
    Self: Sized
{ fn magic() -> u32;
fn from_blob_bytes(data: &'a [u8]) -> Result<Self, AppleCodesignError>;
fn serialize_payload(&self) -> Result<Vec<u8>, AppleCodesignError>; fn to_blob_bytes(&self) -> Result<Vec<u8>, AppleCodesignError> { ... }
fn digest_with(
        &self,
        hash_type: DigestType
    ) -> Result<Vec<u8>, AppleCodesignError> { ... } }
Expand description

Provides common features for a parsed blob type.

Required methods

The header magic that identifies this format.

Attempt to construct an instance by parsing a bytes slice.

The slice begins with the 8 byte blob header denoting the magic and length.

Serialize the payload of this blob to bytes.

Does not include the magic or length header fields common to blobs.

Provided methods

Serialize this blob to bytes.

This is Blob::serialize_payload with the blob magic and length prepended.

Obtain the digest of the blob using the specified hasher.

Default implementation calls Blob::to_blob_bytes and digests that, which should always be correct.

Implementors