From 9f05a6cea5966146e6466c0a5f88710d70c66e0d Mon Sep 17 00:00:00 2001 From: asonix Date: Fri, 3 May 2024 14:16:57 -0500 Subject: [PATCH] Expose digest implementations --- src/lib.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 74a33be..de055ba 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -20,10 +20,20 @@ pub trait DigestImplementation { fn digest(&self, algorithm: DigestAlgorithm, bytes: &[u8]) -> Vec; } +#[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 { config: Arc, digest_impl: D,