#![doc = include_str!("../examples/sign.rs")]
pub mod ed;
pub mod rsa;
use snafu::prelude::*;
#[derive(Debug, Snafu)]
pub enum Error {
#[snafu(display("Unable to parse PEM: {}", source))]
InvalidPem { source: pem::PemError },
#[snafu(display("Signature operation failed"))]
SignatureFailed { source: ring::error::Unspecified },
#[cfg(feature = "base64")]
#[snafu(display("Decoding data failed"))]
DecodeFailed { source: base64::DecodeError },
#[snafu(display("Cannot read key: {}", source))]
InvalidKey { source: ring::error::KeyRejected },
}
type Result<T, E = Error> = std::result::Result<T, E>;