Trait tendermint::signature::Signer[][src]

pub trait Signer<S> where
    S: Signature
{ pub fn try_sign(&self, msg: &[u8]) -> Result<S, Error>; pub fn sign(&self, msg: &[u8]) -> S { ... } }

Sign the provided message bytestring using Self (e.g. a cryptographic key or connection to an HSM), returning a digital signature.

Required methods

pub fn try_sign(&self, msg: &[u8]) -> Result<S, Error>[src]

Attempt to sign the given message, returning a digital signature on success, or an error if something went wrong.

The main intended use case for signing errors is when communicating with external signers, e.g. cloud KMS, HSMs, or other hardware tokens.

Loading content...

Provided methods

pub fn sign(&self, msg: &[u8]) -> S[src]

Sign the given message and return a digital signature

Loading content...

Implementations on Foreign Types

impl<C> Signer<Signature<C>> for SigningKey<C> where
    C: ProjectiveArithmetic + DigestPrimitive + Curve,
    GenericArray<u8, <C as Curve>::FieldSize>: From<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar>,
    GenericArray<u8, <C as Curve>::FieldSize>: for<'r> From<&'r <<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar>,
    <<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
    <<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: FromDigest<C>,
    <<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: Invert,
    <<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: SignPrimitive<C>,
    <<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: Zeroize,
    <<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
    SigningKey<C>: DigestSigner<<C as DigestPrimitive>::Digest, Signature<C>>,
    <<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
    <<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as Invert>::Output == <<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar, 
[src]

Loading content...

Implementors

impl Signer<Signature> for Keypair[src]

pub fn try_sign(&self, message: &[u8]) -> Result<Signature, Error>[src]

Sign a message with this keypair’s secret key.

Loading content...