http-msgsign-draft 0.3.0

Add functionality for draft-cavage-http-signatures-12 to http.
Documentation
use crate::errors::VerificationError;

mod base;
mod component;
mod field;
mod input;
pub mod params;
mod request;
mod response;

pub(crate) use self::base::*;
pub(crate) use self::input::*;
pub use self::params::*;

pub use self::request::*;
pub use self::response::*;

pub mod headers {
    pub use super::input::*;
}

pub trait SignerKey: 'static + Sync + Send {
    fn id(&self) -> String;
    fn algorithm(&self) -> String;

    fn sign(&self, target: &[u8]) -> Vec<u8>;
}

pub trait VerifierKey: 'static + Sync + Send {
    fn id(&self) -> String;
    fn algorithm(&self) -> String;

    fn verify(&self, target: &[u8], sig: &[u8]) -> Result<(), VerificationError>;
}