feat: initial support for X25519Kyber768Draft00 PQC
This commit is contained in:
parent
c92b395cc5
commit
a887750075
8 changed files with 37 additions and 10 deletions
|
|
@ -28,6 +28,11 @@ native-tls-backend = ["hyper-tls"]
|
|||
rustls-backend = ["hyper-rustls"]
|
||||
webpki-roots = ["rustls-backend", "hyper-rustls/webpki-tokio"]
|
||||
acme = ["dep:rpxy-acme"]
|
||||
post-quantum = [
|
||||
"rustls-post-quantum",
|
||||
"rpxy-acme/post-quantum",
|
||||
"rpxy-certs/post-quantum",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
rand = "0.8.5"
|
||||
|
|
@ -55,7 +60,7 @@ thiserror = "1.0.65"
|
|||
http = "1.1.0"
|
||||
http-body-util = "0.1.2"
|
||||
hyper = { version = "1.5.0", default-features = false }
|
||||
hyper-util = { version = "0.1.9", features = ["full"] }
|
||||
hyper-util = { version = "0.1.10", features = ["full"] }
|
||||
futures-util = { version = "0.3.31", default-features = false }
|
||||
futures-channel = { version = "0.3.31", default-features = false }
|
||||
|
||||
|
|
@ -74,7 +79,8 @@ hyper-rustls = { version = "0.27.3", default-features = false, features = [
|
|||
# tls and cert management for server
|
||||
rpxy-certs = { path = "../rpxy-certs/", default-features = false }
|
||||
hot_reload = "0.1.6"
|
||||
rustls = { version = "0.23.15", default-features = false }
|
||||
rustls = { version = "0.23.16", default-features = false }
|
||||
rustls-post-quantum = { version = "0.1.0", optional = true }
|
||||
tokio-rustls = { version = "0.26.0", features = ["early-data"] }
|
||||
|
||||
# acme
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ use crate::{
|
|||
use futures::future::join_all;
|
||||
use hot_reload::ReloaderReceiver;
|
||||
use rpxy_certs::ServerCryptoBase;
|
||||
use rustls::crypto::{aws_lc_rs, CryptoProvider};
|
||||
use rustls::crypto::CryptoProvider;
|
||||
use std::sync::Arc;
|
||||
use tokio_util::sync::CancellationToken;
|
||||
|
||||
|
|
@ -101,8 +101,11 @@ pub async fn entrypoint(
|
|||
info!("Cache is disabled")
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "post-quantum"))]
|
||||
// Install aws_lc_rs as default crypto provider for rustls
|
||||
let _ = CryptoProvider::install_default(aws_lc_rs::default_provider());
|
||||
let _ = CryptoProvider::install_default(rustls::crypto::aws_lc_rs::default_provider());
|
||||
#[cfg(feature = "post-quantum")]
|
||||
let _ = CryptoProvider::install_default(rustls_post_quantum::provider());
|
||||
|
||||
// 1. build backends, and make it contained in Arc
|
||||
let app_manager = Arc::new(backend::BackendAppManager::try_from(app_config_list)?);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue