Skip to content

Commit 2ea5928

Browse files
committed
Updated dependencies
1 parent 39580b2 commit 2ea5928

File tree

4 files changed

+60
-45
lines changed

4 files changed

+60
-45
lines changed

Cargo.lock

Lines changed: 19 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/client.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use clap::Parser;
99
use rustls::{
1010
ClientConfig, ClientConnection, RootCertStore, Stream,
1111
client::{ClientCredentialResolver, CredentialRequest},
12-
crypto::{Credentials, Identity, SelectedCredential},
12+
crypto::{Credentials, CryptoProvider, Identity, SelectedCredential},
1313
enums::CertificateType,
1414
};
1515
use rustls_pki_types::{CertificateDer, ServerName};
@@ -119,13 +119,14 @@ fn main() -> anyhow::Result<()> {
119119
let mut root_store = RootCertStore::empty();
120120
root_store.add(ca_cert.as_der().into())?;
121121

122-
let client_config = ClientConfig::builder()
123-
.with_root_certificates(root_store)
124-
.with_client_credential_resolver(Arc::new(ClientCertResolver {
125-
store,
126-
cert_name: params.client_cert.clone(),
127-
pin: params.password.clone(),
128-
}))?;
122+
let client_config =
123+
ClientConfig::builder(Arc::new(CryptoProvider::from_crate_features().unwrap()))
124+
.with_root_certificates(root_store)
125+
.with_client_credential_resolver(Arc::new(ClientCertResolver {
126+
store,
127+
cert_name: params.client_cert.clone(),
128+
pin: params.password.clone(),
129+
}))?;
129130

130131
let server_name = ServerName::try_from(params.server_name.as_str())?.to_owned();
131132
let mut connection = ClientConnection::new(Arc::new(client_config), server_name)?;

examples/server.rs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use std::{
66
};
77

88
use clap::Parser;
9+
use rustls::crypto::CryptoProvider;
910
use rustls::{
1011
RootCertStore, ServerConfig, ServerConnection, Stream,
1112
crypto::{Credentials, Identity, SelectedCredential},
@@ -143,14 +144,19 @@ fn main() -> anyhow::Result<()> {
143144
let mut root_store = RootCertStore::empty();
144145
root_store.add(ca_cert.as_der().into())?;
145146

146-
let verifier = WebPkiClientVerifier::builder(Arc::new(root_store)).build()?;
147-
148-
let server_config = ServerConfig::builder()
149-
.with_client_cert_verifier(verifier)
150-
.with_server_credential_resolver(Arc::new(ServerCertResolver {
151-
store,
152-
pin: params.password.clone(),
153-
}))?;
147+
let verifier = WebPkiClientVerifier::builder(
148+
Arc::new(root_store),
149+
&CryptoProvider::from_crate_features().unwrap(),
150+
)
151+
.build()?;
152+
153+
let server_config =
154+
ServerConfig::builder(Arc::new(CryptoProvider::from_crate_features().unwrap()))
155+
.with_client_cert_verifier(verifier)
156+
.with_server_credential_resolver(Arc::new(ServerCertResolver {
157+
store,
158+
pin: params.password.clone(),
159+
}))?;
154160

155161
let server = TcpListener::bind(format!("0.0.0.0:{PORT}"))?;
156162

tests/test_client_server.rs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ mod client {
1010
sync::Arc,
1111
};
1212

13+
use rustls::crypto::CryptoProvider;
1314
use rustls::{
1415
ClientConfig, ClientConnection, RootCertStore, Stream,
1516
client::{ClientCredentialResolver, CredentialRequest},
@@ -65,12 +66,13 @@ mod client {
6566
let mut root_store = RootCertStore::empty();
6667
root_store.add(ca_cert.as_der().into())?;
6768

68-
let client_config = ClientConfig::builder()
69-
.with_root_certificates(root_store)
70-
.with_client_credential_resolver(Arc::new(ClientCertResolver(
71-
store,
72-
"rustls-client".to_string(),
73-
)))?;
69+
let client_config =
70+
ClientConfig::builder(Arc::new(CryptoProvider::from_crate_features().unwrap()))
71+
.with_root_certificates(root_store)
72+
.with_client_credential_resolver(Arc::new(ClientCertResolver(
73+
store,
74+
"rustls-client".to_string(),
75+
)))?;
7476

7577
let mut connection =
7678
ClientConnection::new(Arc::new(client_config), "rustls-server".try_into()?)?;
@@ -98,6 +100,7 @@ mod server {
98100
sync::{Arc, mpsc::Sender},
99101
};
100102

103+
use rustls::crypto::CryptoProvider;
101104
use rustls::{
102105
RootCertStore, ServerConfig, ServerConnection, Stream,
103106
crypto::{Credentials, Identity, SelectedCredential},
@@ -161,11 +164,16 @@ mod server {
161164
let mut root_store = RootCertStore::empty();
162165
root_store.add(ca_cert.as_der().into())?;
163166

164-
let verifier = WebPkiClientVerifier::builder(Arc::new(root_store)).build()?;
167+
let verifier = WebPkiClientVerifier::builder(
168+
Arc::new(root_store),
169+
&CryptoProvider::from_crate_features().unwrap(),
170+
)
171+
.build()?;
165172

166-
let server_config = ServerConfig::builder()
167-
.with_client_cert_verifier(verifier)
168-
.with_server_credential_resolver(Arc::new(ServerCertResolver(store)))?;
173+
let server_config =
174+
ServerConfig::builder(Arc::new(CryptoProvider::from_crate_features().unwrap()))
175+
.with_client_cert_verifier(verifier)
176+
.with_server_credential_resolver(Arc::new(ServerCertResolver(store)))?;
169177

170178
let server = TcpListener::bind("127.0.0.1:0")?;
171179

0 commit comments

Comments
 (0)