use rustls_pki_types::{CertificateDer, PrivateKeyDer, pem::PemObject};
pub const TEST_CERT_PEM: &[u8] = include_bytes!("../testdata/server.cert");
pub const TEST_KEY_PEM: &[u8] = include_bytes!("../testdata/server.key");
#[allow(unused)]
pub fn load_certs_and_key()
-> Result<(Vec<CertificateDer<'static>>, PrivateKeyDer<'static>), Box<dyn std::error::Error>> {
let certs: Vec<CertificateDer<'static>> = CertificateDer::pem_slice_iter(TEST_CERT_PEM)
.filter_map(|result| result.ok())
.collect();
if certs.is_empty() {
return Err("No certificates found in PEM slice".into());
}
let key_der: Option<PrivateKeyDer<'static>> = PrivateKeyDer::pem_slice_iter(TEST_KEY_PEM)
.filter_map(|result| result.ok())
.next();
let key = key_der.ok_or("No private key found in PEM slice")?;
Ok((certs, key))
}