Skip to content
File

Blob: archive/str0m-probe/vendor/str0m-rust-crypto/provider.patch

1.8 KB
1--- a/Cargo.toml
2+++ b/Cargo.toml
3@@ -30,6 +30,10 @@
4 name = "str0m_rust_crypto"
5 path = "src/lib.rs"
6
7+[features]
8+default = ["generate-cert"]
9+generate-cert = ["dimpl/rcgen"]
10+
11 [dependencies.aes]
12 version = "0.8"
13
14@@ -43,7 +47,6 @@
15 version = "0.7.1"
16 features = [
17 "rust-crypto",
18- "rcgen",
19 ]
20 default-features = false
21
22--- a/src/dtls.rs
23+++ b/src/dtls.rs
24@@ -17,13 +17,20 @@
25
26 impl DtlsProvider for RustCryptoDtlsProvider {
27 fn generate_certificate(&self) -> Option<DtlsCert> {
28- // Use dimpl's rcgen-based certificate generation (with RustCrypto backend)
29- dimpl::certificate::generate_self_signed_certificate()
30- .ok()
31- .map(|cert| DtlsCert {
32- certificate: cert.certificate,
33- private_key: cert.private_key,
34- })
35+ #[cfg(feature = "generate-cert")]
36+ {
37+ dimpl::certificate::generate_self_signed_certificate()
38+ .ok()
39+ .map(|cert| DtlsCert {
40+ certificate: cert.certificate,
41+ private_key: cert.private_key,
42+ })
43+ }
44+ #[cfg(not(feature = "generate-cert"))]
45+ {
46+ // The application supplies its certificate through RtcConfig.
47+ None
48+ }
49 }
50
51 fn new_dtls(
52@@ -40,7 +47,9 @@
53
54 // Create a default dimpl Config with RustCrypto crypto provider
55 // ICE verifies return routability before DTLS, making server cookies redundant.
56- let mut builder = dimpl::Config::builder().use_server_cookie(false);
57+ let mut builder = dimpl::Config::builder()
58+ .with_crypto_provider(dimpl::crypto::rust_crypto::default_provider())
59+ .use_server_cookie(false);
60 if let Some(mtu) = mtu {
61 builder = builder.mtu(mtu);
62 }