1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
//! [openssl](https://crates.io/crates/openssl) implementations for [`Verify`] and [`Sign`]

use anyhow::Result;
use openssl::sign::{Signer, Verifier};

use crate::{Sign, Verify};

impl<'a> Verify for Verifier<'a> {
    fn verify(&self, signature: &[u8]) -> Result<bool> {
        Ok(self.verify(signature)?)
    }
}

impl<'a> Sign for Signer<'a> {
    fn get_sign(&self) -> Result<Vec<u8>> {
        Ok(self.sign_to_vec()?)
    }
}