SigningKey

Trait SigningKey 

Source
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).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SigningKey<Ed25519> for SecretKey

Available on crate feature exonum-crypto only.
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

Available on crate feature p256 only.
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

Available on crate feature secp256k1 only.

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

Implementors§