Skip to main content

Signable

Trait Signable 

Source
pub trait Signable: Sized {
    type SignedOutput;

    // Required methods
    fn unsigned_payload(&self) -> Result<Vec<u8>, Error>;
    fn label(&self) -> &str;

    // Provided method
    fn sign(
        self,
        signer: &impl Signer,
    ) -> Result<Self::SignedOutput, SignatureError>
       where Self::SignedOutput: SignedStruct<Self> { ... }
}
Available on 32-bit or 64-bit only.
Expand description

The Signable trait is implemented by all struct that are being signed. The implementation has to provide the unsigned_payload function.

Required Associated Types§

Source

type SignedOutput

The type of the object once it’s signed.

Required Methods§

Source

fn unsigned_payload(&self) -> Result<Vec<u8>, Error>

Return the unsigned, serialized payload that should be signed.

Source

fn label(&self) -> &str

Return the string label used for labeled signing.

Provided Methods§

Source

fn sign( self, signer: &impl Signer, ) -> Result<Self::SignedOutput, SignatureError>
where Self::SignedOutput: SignedStruct<Self>,

Sign the payload with the given private_key.

Returns a Signature.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Signable for FrankenKeyPackageTbs

Available on crate features test-utils only.
Source§

impl Signable for FrankenLeafNodeTbs

Available on crate features test-utils only.