Expose digest implementations
This commit is contained in:
parent
6334346a2a
commit
9f05a6cea5
1 changed files with 13 additions and 0 deletions
13
src/lib.rs
13
src/lib.rs
|
@ -20,10 +20,20 @@ pub trait DigestImplementation {
|
|||
fn digest(&self, algorithm: DigestAlgorithm, bytes: &[u8]) -> Vec<u8>;
|
||||
}
|
||||
|
||||
#[cfg(feature = "aws-lc-rs")]
|
||||
pub use aws_lc_rs_backend::AwsLcRsDigest;
|
||||
|
||||
#[cfg(feature = "ring")]
|
||||
pub use ring_backend::RingDigest;
|
||||
|
||||
#[cfg(feature = "rustcrypto")]
|
||||
pub use rustcrypto_backend::RustcryptoDigest;
|
||||
|
||||
#[cfg(feature = "aws-lc-rs")]
|
||||
mod aws_lc_rs_backend {
|
||||
use super::{DigestAlgorithm, DigestImplementation};
|
||||
|
||||
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
pub struct AwsLcRsDigest;
|
||||
|
||||
impl DigestImplementation for AwsLcRsDigest {
|
||||
|
@ -44,6 +54,7 @@ mod aws_lc_rs_backend {
|
|||
mod ring_backend {
|
||||
use super::{DigestAlgorithm, DigestImplementation};
|
||||
|
||||
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
pub struct RingDigest;
|
||||
|
||||
impl DigestImplementation for RingDigest {
|
||||
|
@ -65,6 +76,7 @@ mod rustcrypto_backend {
|
|||
use super::{DigestAlgorithm, DigestImplementation};
|
||||
use sha2::{Digest, Sha256, Sha384, Sha512};
|
||||
|
||||
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
pub struct RustcryptoDigest;
|
||||
|
||||
impl DigestImplementation for RustcryptoDigest {
|
||||
|
@ -81,6 +93,7 @@ mod rustcrypto_backend {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct MakeRustlsConnect<D> {
|
||||
config: Arc<ClientConfig>,
|
||||
digest_impl: D,
|
||||
|
|
Loading…
Reference in a new issue