diff --git a/Cargo.toml b/Cargo.toml index dc123e1..2ef26fc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ all-features = true default = [] native-tls = ["native-tls-crate"] native-tls-vendored = ["native-tls", "native-tls-crate/vendored"] -rustls-tls = ["rustls", "webpki", "webpki-roots"] +rustls-tls = ["rustls", "webpki", "rustls-native-certs"] [dependencies] base64 = "0.13.0" @@ -46,11 +46,11 @@ version = "0.19.0" [dependencies.webpki] optional = true -version = "0.22.0" +version = "0.21" -[dependencies.webpki-roots] +[dependencies.rustls-native-certs] optional = true -version = "0.22.0" +version = "0.5.0" [dev-dependencies] env_logger = "0.8.1" diff --git a/src/client.rs b/src/client.rs index f351cf2..2a6a513 100644 --- a/src/client.rs +++ b/src/client.rs @@ -72,7 +72,10 @@ mod encryption { Mode::Tls => { let config = { let mut config = ClientConfig::new(); - config.root_store.add_server_trust_anchors(&webpki_roots::TLS_SERVER_ROOTS); + config.root_store = match rustls_native_certs::load_native_certs() { + Ok(store) => store, + Err((_, err)) => Err(err)?, + }; Arc::new(config) };