use std::ops::Deref;
mod keying;
#[cfg(feature = "aws-lc-rs")]
pub mod aws_lc_rs;
#[cfg(feature = "rust-crypto")]
pub mod rust_crypto;
#[cfg(any(feature = "aws-lc-rs", feature = "rust-crypto"))]
pub(crate) mod ccm_cipher;
mod dtls_aead;
pub mod prf_hkdf;
mod provider;
mod validation;
pub use keying::{KeyingMaterial, SrtpProfile};
pub use dtls_aead::{Aad, Nonce};
pub(crate) use dtls_aead::Iv;
pub use crate::buffer::{Buf, TmpBuf};
pub use provider::{
ActiveKeyExchange, Cipher, CryptoProvider, CryptoSafe, HashContext, HashProvider, HmacProvider,
KeyProvider, SecureRandom, SignatureVerifier, SigningKey, SupportedDtls12CipherSuite,
SupportedDtls13CipherSuite, SupportedKxGroup, check_verify_scheme,
};
#[cfg(feature = "_crypto-common")]
pub use provider::{OID_P256, OID_P384, cert_named_group};
pub use crate::dtls12::message::Dtls12CipherSuite;
pub use crate::types::{
Dtls13CipherSuite, HashAlgorithm, NamedGroup, SignatureAlgorithm, SignatureScheme,
};
impl Deref for Aad {
type Target = [u8];
fn deref(&self) -> &Self::Target {
&self.0[..]
}
}
impl Deref for Nonce {
type Target = [u8];
fn deref(&self) -> &Self::Target {
&self.0
}
}