1mod cert;
5#[cfg(feature = "dimpl")]
6mod dimpl_provider;
7#[cfg_attr(feature = "dimpl", path = "dtls_dimpl.rs")]
8#[cfg_attr(not(feature = "dimpl"), path = "dtls_ossl.rs")]
9mod dtls;
10mod sha1;
11mod sha256;
12mod srtp;
13
14use dtls::OsslDtlsProvider;
15use sha1::OsslSha1HmacProvider;
16use sha256::OsslSha256Provider;
17use srtp::OsslSrtpProvider;
18use str0m_proto::crypto::CryptoProvider;
19
20#[cfg(not(feature = "dimpl"))]
21#[macro_use]
22extern crate tracing;
23
24pub fn default_provider() -> CryptoProvider {
38 static SRTP: OsslSrtpProvider = OsslSrtpProvider;
39 static SHA1_HMAC: OsslSha1HmacProvider = OsslSha1HmacProvider;
40 static SHA256: OsslSha256Provider = OsslSha256Provider;
41 static DTLS: OsslDtlsProvider = OsslDtlsProvider;
42
43 CryptoProvider {
44 srtp_provider: &SRTP,
45 sha1_hmac_provider: &SHA1_HMAC,
46 sha256_provider: &SHA256,
47 dtls_provider: &DTLS,
48 }
49}