mirror of
https://github.com/actix/examples
synced 2025-04-08 19:03:19 +02:00
Simplify acme-letsencrypt example
This commit is contained in:
parent
c3bd9d9620
commit
a554e6467e
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -8410,7 +8410,6 @@ dependencies = [
|
||||
"eyre",
|
||||
"log",
|
||||
"rustls 0.23.25",
|
||||
"rustls-pemfile 2.2.0",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
|
@ -12,5 +12,4 @@ env_logger.workspace = true
|
||||
eyre.workspace = true
|
||||
log.workspace = true
|
||||
rustls.workspace = true
|
||||
rustls-pemfile.workspace = true
|
||||
tokio = { workspace = true, features = ["fs"] }
|
||||
|
@ -4,7 +4,7 @@ use acme::{Certificate, Directory, DirectoryUrl, create_p256_key};
|
||||
use actix_files::Files;
|
||||
use actix_web::{App, HttpRequest, HttpServer, Responder, rt, web};
|
||||
use eyre::eyre;
|
||||
use rustls::pki_types::{PrivateKeyDer, PrivatePkcs8KeyDer};
|
||||
use rustls::pki_types::{CertificateDer, PrivateKeyDer, PrivatePkcs8KeyDer, pem::PemObject};
|
||||
use tokio::fs;
|
||||
|
||||
const CHALLENGE_DIR: &str = "./acme-challenges";
|
||||
@ -188,10 +188,9 @@ fn load_rustls_config(cert: Certificate) -> eyre::Result<rustls::ServerConfig> {
|
||||
let private_key = PrivateKeyDer::Pkcs8(PrivatePkcs8KeyDer::from(cert.private_key_der()?));
|
||||
|
||||
// convert ACME-obtained certificate chain
|
||||
let cert_chain =
|
||||
rustls_pemfile::certs(&mut std::io::BufReader::new(cert.certificate().as_bytes()))
|
||||
.collect::<Result<Vec<_>, _>>()
|
||||
.unwrap();
|
||||
let cert_chain = CertificateDer::pem_slice_iter(cert.certificate().as_bytes())
|
||||
.flatten()
|
||||
.collect();
|
||||
|
||||
Ok(config.with_single_cert(cert_chain, private_key)?)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user