1
0
mirror of https://github.com/actix/examples synced 2025-04-08 19:03:19 +02:00

Simplify http-to-https example

This commit is contained in:
Olivier Guittonneau 2025-04-03 18:12:07 +02:00
parent a554e6467e
commit 54ed931e80
No known key found for this signature in database
GPG Key ID: 7328EDEC98A034EA
4 changed files with 11 additions and 16 deletions

2
Cargo.lock generated
View File

@ -2047,7 +2047,6 @@ dependencies = [
"log", "log",
"notify 6.1.1", "notify 6.1.1",
"rustls 0.23.25", "rustls 0.23.25",
"rustls-pemfile 2.2.0",
"tokio", "tokio",
] ]
@ -5094,7 +5093,6 @@ dependencies = [
"futures-util", "futures-util",
"log", "log",
"rustls 0.23.25", "rustls 0.23.25",
"rustls-pemfile 2.2.0",
] ]
[[package]] [[package]]

View File

@ -112,7 +112,6 @@ rand = "0.9"
redis = { version = "0.27" } redis = { version = "0.27" }
reqwest = { version = "0.12", features = ["json", "stream"] } reqwest = { version = "0.12", features = ["json", "stream"] }
rustls = "0.23" rustls = "0.23"
rustls-pemfile = "2"
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
serde_json = "1" serde_json = "1"
time = "0.3" time = "0.3"

View File

@ -9,4 +9,3 @@ env_logger.workspace = true
futures-util.workspace = true futures-util.workspace = true
log.workspace = true log.workspace = true
rustls.workspace = true rustls.workspace = true
rustls-pemfile.workspace = true

View File

@ -1,9 +1,9 @@
use std::{fs::File, io::BufReader};
use actix_web::{App, HttpResponse, HttpServer, dev::Service, get, http}; use actix_web::{App, HttpResponse, HttpServer, dev::Service, get, http};
use futures_util::future::{self, Either, FutureExt}; use futures_util::future::{self, Either, FutureExt};
use rustls::{ServerConfig, pki_types::PrivateKeyDer}; use rustls::{
use rustls_pemfile::{certs, pkcs8_private_keys}; ServerConfig,
pki_types::{CertificateDer, PrivateKeyDer, pem::PemObject},
};
#[get("/")] #[get("/")]
async fn index() -> String { async fn index() -> String {
@ -18,18 +18,17 @@ async fn main() -> std::io::Result<()> {
.install_default() .install_default()
.unwrap(); .unwrap();
let cert_file = &mut BufReader::new(File::open("cert.pem").unwrap()); let cert_chain = CertificateDer::pem_file_iter("cert.pem")
let key_file = &mut BufReader::new(File::open("key.pem").unwrap()); .unwrap()
.flatten()
.collect();
let cert_chain = certs(cert_file).collect::<Result<Vec<_>, _>>().unwrap(); let key_der =
let mut keys = pkcs8_private_keys(key_file) PrivateKeyDer::from_pem_file("key.pem").expect("Could not locate PKCS 8 private keys.");
.map(|key| key.map(PrivateKeyDer::Pkcs8))
.collect::<Result<Vec<_>, _>>()
.unwrap();
let config = ServerConfig::builder() let config = ServerConfig::builder()
.with_no_client_auth() .with_no_client_auth()
.with_single_cert(cert_chain, keys.remove(0)) .with_single_cert(cert_chain, key_der)
.unwrap(); .unwrap();
log::info!( log::info!(