Various experiments

This commit is contained in:
2024-01-30 16:07:09 +01:00
parent 21d2b16ee8
commit 7ee40b7dbe
11 changed files with 1150 additions and 116 deletions

View File

@@ -6,3 +6,5 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
tokio-rustls = "0.25.0"
rustls-pemfile = "2.0.0"

View File

@@ -1,14 +1,25 @@
pub fn add(left: usize, right: usize) -> usize {
left + right
}
use std::io::{BufReader, Error, ErrorKind};
use rustls_pemfile::{read_one, Item};
use tokio_rustls::rustls::pki_types::{CertificateDer, PrivatePkcs8KeyDer};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
pub fn load_cert(filename: &str) -> std::io::Result<CertificateDer> {
let cert_file = std::fs::File::open(filename).unwrap();
let mut buf = std::io::BufReader::new(cert_file);
if let Item::X509Certificate(cert) = read_one(&mut buf).unwrap().unwrap() {
Ok(cert)
} else {
eprintln!("File {} doesn't contain a X509 Certificate", filename);
Err(Error::new(ErrorKind::InvalidInput, "no x509 cert"))
}
}
pub fn load_prkey(filename: &str) -> std::io::Result<PrivatePkcs8KeyDer> {
let prkey_file = std::fs::File::open(filename).unwrap();
let mut buf = BufReader::new(prkey_file);
if let Item::Pkcs8Key(pkey) = read_one(&mut buf).unwrap().unwrap() {
Ok(pkey)
} else {
eprintln!("File {} doesn't contain a Pkcs8 Private Key", filename);
Err(Error::new(ErrorKind::InvalidInput, "no pkcs8key"))
}
}