Trait diem_sdk::crypto::SigningKey [−][src]
pub trait SigningKey: PrivateKey<PublicKeyMaterial = Self::VerifyingKeyMaterial> + ValidCryptoMaterial + Sealed {
type VerifyingKeyMaterial: VerifyingKey;
type SignatureMaterial: Signature;
fn sign<T>(&self, message: &T) -> Self::SignatureMaterial
where
T: CryptoHash + Serialize;
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
fn sign<T>(&self, message: &T) -> Self::SignatureMaterial where
T: CryptoHash + Serialize,
fn sign<T>(&self, message: &T) -> Self::SignatureMaterial where
T: CryptoHash + Serialize,
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
fn verifying_key(&self) -> Self::VerifyingKeyMaterial
fn verifying_key(&self) -> Self::VerifyingKeyMaterial
Returns the associated verifying key