mod cert;
#[cfg(feature = "dimpl")]
mod dimpl_provider;
#[cfg_attr(feature = "dimpl", path = "dtls_dimpl.rs")]
#[cfg_attr(not(feature = "dimpl"), path = "dtls_ossl.rs")]
mod dtls;
mod sha1;
mod sha256;
mod srtp;
use dtls::OsslDtlsProvider;
use sha1::OsslSha1HmacProvider;
use sha256::OsslSha256Provider;
use srtp::OsslSrtpProvider;
use str0m_proto::crypto::CryptoProvider;
#[cfg(not(feature = "dimpl"))]
#[macro_use]
extern crate tracing;
pub fn default_provider() -> CryptoProvider {
static SRTP: OsslSrtpProvider = OsslSrtpProvider;
static SHA1_HMAC: OsslSha1HmacProvider = OsslSha1HmacProvider;
static SHA256: OsslSha256Provider = OsslSha256Provider;
static DTLS: OsslDtlsProvider = OsslDtlsProvider;
CryptoProvider {
srtp_provider: &SRTP,
sha1_hmac_provider: &SHA1_HMAC,
sha256_provider: &SHA256,
dtls_provider: &DTLS,
}
}