diff --git a/.gitignore b/.gitignore index 685b4eb..17393bb 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,3 @@ target/ # Cargo root folder /.cargo -.idea \ No newline at end of file diff --git a/src/quic/client.rs b/src/quic/client.rs deleted file mode 100644 index eeb6f12..0000000 --- a/src/quic/client.rs +++ /dev/null @@ -1,37 +0,0 @@ -use std::error::Error; -use std::net::SocketAddr; -use std::sync::Arc; -use quinn::{ClientConfig, Endpoint}; -use rustls::pki_types::CertificateDer; - -/// Builds default quinn client config and trusts given certificates. -/// -/// ## Args -/// -/// - server_certs: a list of trusted certificates in DER format. -fn configure_client( - server_certs: &[&[u8]], -) -> Result> { - let mut certs = rustls::RootCertStore::empty(); - for cert in server_certs { - certs.add(CertificateDer::from(*cert))?; - } - - Ok(ClientConfig::with_root_certificates(Arc::new(certs))?) -} - -/// Constructs a QUIC endpoint configured for use a client only. -/// -/// ## Args -/// -/// - server_certs: list of trusted certificates. -#[allow(unused)] -pub fn make_client_endpoint( - bind_addr: SocketAddr, - server_certs: &[&[u8]], -) -> Result> { - let client_cfg = configure_client(server_certs)?; - let mut endpoint = Endpoint::client(bind_addr)?; - endpoint.set_default_client_config(client_cfg); - Ok(endpoint) -} \ No newline at end of file diff --git a/src/quic/mod.rs b/src/quic/mod.rs index 76c4929..9310323 100644 --- a/src/quic/mod.rs +++ b/src/quic/mod.rs @@ -1,2 +1 @@ -mod server; -mod client; \ No newline at end of file +mod server; \ No newline at end of file diff --git a/src/quic/server.rs b/src/quic/server.rs index 4e1a77d..c825182 100644 --- a/src/quic/server.rs +++ b/src/quic/server.rs @@ -2,6 +2,7 @@ use std::error::Error; use std::net::SocketAddr; use std::sync::Arc; use quinn::{Endpoint, ServerConfig}; +use rcgen::Certificate; use rustls::pki_types::{CertificateDer, PrivatePkcs8KeyDer}; use rustls::pki_types::pem::PemObject;