str0m_apple_crypto/
lib.rs1#![allow(clippy::redundant_pub_crate)]
5#![allow(unsafe_code)]
6#![cfg(target_vendor = "apple")]
7
8mod common_crypto;
9mod dimpl_provider;
10mod dtls;
11mod sha1;
12mod sha256;
13mod srtp;
14
15use str0m_proto::crypto::CryptoProvider;
16
17use dtls::AppleCryptoDtlsProvider;
18use sha1::AppleCryptoSha1HmacProvider;
19use sha256::AppleCryptoSha256Provider;
20use srtp::AppleCryptoSrtpProvider;
21
22pub fn default_provider() -> CryptoProvider {
36 static SRTP: AppleCryptoSrtpProvider = AppleCryptoSrtpProvider;
37 static SHA1_HMAC: AppleCryptoSha1HmacProvider = AppleCryptoSha1HmacProvider;
38 static SHA256: AppleCryptoSha256Provider = AppleCryptoSha256Provider;
39 static DTLS: AppleCryptoDtlsProvider = AppleCryptoDtlsProvider;
40
41 CryptoProvider {
42 srtp_provider: &SRTP,
43 sha1_hmac_provider: &SHA1_HMAC,
44 sha256_provider: &SHA256,
45 dtls_provider: &DTLS,
46 }
47}