Trait sequoia_openpgp::crypto::Signer[][src]

pub trait Signer {
    fn public(&self) -> &Key<PublicParts, UnspecifiedRole>;
fn sign(
        &mut self,
        hash_algo: HashAlgorithm,
        digest: &[u8]
    ) -> Result<Signature>; }

Creates a signature.

Used in the streaming Signer, the methods binding components to certificates (e.g. UserID::bind), SignatureBuilder’s signing functions (e.g. SignatureBuilder::sign_standalone), and likely many more places.

This is a low-level mechanism to produce an arbitrary OpenPGP signature. Using this trait allows Sequoia to perform all operations involving signing to use a variety of secret key storage mechanisms (e.g. smart cards).

A signer consists of the public key and a way of creating a signature. This crate implements Signer for KeyPair, which is a tuple containing the public and unencrypted secret key in memory. Other crates may provide their own implementations of Signer to utilize keys stored in various places. Currently, the following implementations exist:

Required methods

fn public(&self) -> &Key<PublicParts, UnspecifiedRole>[src]

Returns a reference to the public key.

fn sign(&mut self, hash_algo: HashAlgorithm, digest: &[u8]) -> Result<Signature>[src]

Creates a signature over the digest produced by hash_algo.

Loading content...

Implementations on Foreign Types

impl Signer for Box<dyn Signer>[src]

fn public(&self) -> &Key<PublicParts, UnspecifiedRole>[src]

fn sign(&mut self, hash_algo: HashAlgorithm, digest: &[u8]) -> Result<Signature>[src]

impl Signer for Box<dyn Signer + Send + Sync>[src]

fn public(&self) -> &Key<PublicParts, UnspecifiedRole>[src]

fn sign(&mut self, hash_algo: HashAlgorithm, digest: &[u8]) -> Result<Signature>[src]

Loading content...

Implementors

impl Signer for KeyPair[src]

fn public(&self) -> &Key<PublicParts, UnspecifiedRole>[src]

fn sign(&mut self, hash_algo: HashAlgorithm, digest: &[u8]) -> Result<Signature>[src]

Loading content...