rust_integration_services/utils/
crypto.rs1use std::path::Path;
2
3use rustls::pki_types::{CertificateDer, PrivateKeyDer};
4
5pub struct Crypto;
6
7impl Crypto {
8 pub fn pem_load_certs<T: AsRef<Path>>(file_name: T) -> std::io::Result<Vec<CertificateDer<'static>>> {
9 let cert_file = std::fs::File::open(file_name)?;
10 let mut reader = std::io::BufReader::new(cert_file);
11 rustls_pemfile::certs(&mut reader).collect()
12 }
13
14 pub fn pem_load_private_key<T: AsRef<Path>>(file_name: T) -> std::io::Result<PrivateKeyDer<'static>> {
15 let key_file = std::fs::File::open(file_name)?;
16 let mut reader = std::io::BufReader::new(key_file);
17 rustls_pemfile::private_key(&mut reader).map(|key| key.unwrap())
18 }
19}