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>;
|
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")]
|
#[cfg(feature = "aws-lc-rs")]
|
||||||
mod aws_lc_rs_backend {
|
mod aws_lc_rs_backend {
|
||||||
use super::{DigestAlgorithm, DigestImplementation};
|
use super::{DigestAlgorithm, DigestImplementation};
|
||||||
|
|
||||||
|
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||||
pub struct AwsLcRsDigest;
|
pub struct AwsLcRsDigest;
|
||||||
|
|
||||||
impl DigestImplementation for AwsLcRsDigest {
|
impl DigestImplementation for AwsLcRsDigest {
|
||||||
|
@ -44,6 +54,7 @@ mod aws_lc_rs_backend {
|
||||||
mod ring_backend {
|
mod ring_backend {
|
||||||
use super::{DigestAlgorithm, DigestImplementation};
|
use super::{DigestAlgorithm, DigestImplementation};
|
||||||
|
|
||||||
|
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||||
pub struct RingDigest;
|
pub struct RingDigest;
|
||||||
|
|
||||||
impl DigestImplementation for RingDigest {
|
impl DigestImplementation for RingDigest {
|
||||||
|
@ -65,6 +76,7 @@ mod rustcrypto_backend {
|
||||||
use super::{DigestAlgorithm, DigestImplementation};
|
use super::{DigestAlgorithm, DigestImplementation};
|
||||||
use sha2::{Digest, Sha256, Sha384, Sha512};
|
use sha2::{Digest, Sha256, Sha384, Sha512};
|
||||||
|
|
||||||
|
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||||
pub struct RustcryptoDigest;
|
pub struct RustcryptoDigest;
|
||||||
|
|
||||||
impl DigestImplementation for RustcryptoDigest {
|
impl DigestImplementation for RustcryptoDigest {
|
||||||
|
@ -81,6 +93,7 @@ mod rustcrypto_backend {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct MakeRustlsConnect<D> {
|
pub struct MakeRustlsConnect<D> {
|
||||||
config: Arc<ClientConfig>,
|
config: Arc<ClientConfig>,
|
||||||
digest_impl: D,
|
digest_impl: D,
|
||||||
|
|
Loading…
Reference in a new issue