Trait tendermint::signature::Signer [−][src]
pub trait Signer<S> where
S: Signature, { fn try_sign(&self, msg: &[u8]) -> Result<S, Error>; fn sign(&self, msg: &[u8]) -> S { ... } }
Expand description
Sign the provided message bytestring using Self
(e.g. a cryptographic key
or connection to an HSM), returning a digital signature.
Required methods
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.
Provided methods
Implementations on Foreign Types
impl<S> Signer<S> for SigningKey where
S: PrehashSignature,
SigningKey: DigestSigner<<S as PrehashSignature>::Digest, S>,
impl<S> Signer<S> for SigningKey where
S: PrehashSignature,
SigningKey: DigestSigner<<S as PrehashSignature>::Digest, S>,
impl<C> Signer<Signature<C>> for SigningKey<C> where
C: Curve + ProjectiveArithmetic + DigestPrimitive,
SigningKey<C>: DigestSigner<<C as DigestPrimitive>::Digest, Signature<C>>,
<C as ScalarArithmetic>::Scalar: FromDigest<C>,
<C as ScalarArithmetic>::Scalar: Invert,
<C as ScalarArithmetic>::Scalar: SignPrimitive<C>,
<C as ScalarArithmetic>::Scalar: Zeroize,
<<<C as Curve>::UInt as ArrayEncoding>::ByteSize as Add<<<C as Curve>::UInt as ArrayEncoding>::ByteSize>>::Output: ArrayLength<u8>,
<<C as ScalarArithmetic>::Scalar as Invert>::Output == <C as ScalarArithmetic>::Scalar,
impl<C> Signer<Signature<C>> for SigningKey<C> where
C: Curve + ProjectiveArithmetic + DigestPrimitive,
SigningKey<C>: DigestSigner<<C as DigestPrimitive>::Digest, Signature<C>>,
<C as ScalarArithmetic>::Scalar: FromDigest<C>,
<C as ScalarArithmetic>::Scalar: Invert,
<C as ScalarArithmetic>::Scalar: SignPrimitive<C>,
<C as ScalarArithmetic>::Scalar: Zeroize,
<<<C as Curve>::UInt as ArrayEncoding>::ByteSize as Add<<<C as Curve>::UInt as ArrayEncoding>::ByteSize>>::Output: ArrayLength<u8>,
<<C as ScalarArithmetic>::Scalar as Invert>::Output == <C as ScalarArithmetic>::Scalar,