blob: 9c8a1ae679cc09eed3a696b53d11758fcd9534ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
//! Asymmetric crypto operations.
use packet::Key;
use crypto::mpis;
use constants::HashAlgorithm;
use Result;
/// Creates a signature.
///
/// 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).
pub trait Signer {
/// Returns a reference to the public key.
fn public(&self) -> &Key;
/// Creates a signature over the `digest` produced by `hash_algo`.
fn sign(&mut self, hash_algo: HashAlgorithm, digest: &[u8])
-> Result<mpis::Signature>;
}
|