pub trait SigningKey<T>: Sized
where T: Algorithm<SigningKey = Self>,
{ // Required methods fn from_slice(raw: &[u8]) -> Result<Self>; fn to_verifying_key(&self) -> T::VerifyingKey; fn as_bytes(&self) -> SecretBytes<'_>; }
Expand description

Signing key for a specific signature cryptosystem. In the case of public-key cryptosystems, this is a private key.

This trait provides a uniform interface for different backends / implementations of the same cryptosystem.

Required Methods§

source

fn from_slice(raw: &[u8]) -> Result<Self>

Creates a key from raw bytes. Returns an error if the bytes do not represent a valid key.

source

fn to_verifying_key(&self) -> T::VerifyingKey

Converts a signing key to a verification key.

source

fn as_bytes(&self) -> SecretBytes<'_>

Returns the key as raw bytes.

Implementations should return Cow::Borrowed whenever possible (that is, if the bytes are actually stored within the implementing data structure).

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl SigningKey<Ed25519> for SecretKey

source§

fn from_slice(raw: &[u8]) -> Result<Self>

source§

fn to_verifying_key(&self) -> PublicKey

source§

fn as_bytes(&self) -> SecretBytes<'_>

source§

impl SigningKey<Es256> for SigningKey

source§

fn from_slice(raw: &[u8]) -> Result<Self>

source§

fn to_verifying_key(&self) -> VerifyingKey

source§

fn as_bytes(&self) -> SecretBytes<'_>

source§

impl SigningKey<Es256k> for SecretKey

This implementation initializes a libsecp256k1 context once on the first call to to_verifying_key if it was not initialized previously.

Implementors§