Trait diem_crypto::traits::SigningKey[][src]

pub trait SigningKey: PrivateKey<PublicKeyMaterial = Self::VerifyingKeyMaterial> + ValidCryptoMaterial + Sealed {
    type VerifyingKeyMaterial: VerifyingKey<SigningKeyMaterial = Self>;
    type SignatureMaterial: Signature<SigningKeyMaterial = Self>;
    fn sign<T: CryptoHash + Serialize>(
        &self,
        message: &T
    ) -> Self::SignatureMaterial; fn verifying_key(&self) -> Self::VerifyingKeyMaterial { ... } }
Expand description

A type family of valid keys that know how to sign.

This trait has a requirement on a pub(crate) marker trait meant to specifically limit its implementations to the present crate.

A trait for a ValidCryptoMaterial which knows how to sign a message, and return an associated Signature type.

Associated Types

The associated verifying key type for this signing key.

The associated signature type for this signing key.

Required methods

Signs an object that has an distinct domain-separation hasher and that we know how to serialize. There is no pre-hashing into a HashValue to be done by the caller.

Note: this assumes serialization is unfaillible. See diem_common::bcs::ser for a discussion of this assumption.

Provided methods

Returns the associated verifying key

Implementors