1use rustls::pki_types::{CertificateDer, PrivateKeyDer};
2
3use crate::common::FileSendRecvTree;
4pub fn self_signed_cert() -> Result<(CertificateDer<'static>, PrivateKeyDer<'static>), rcgen::Error>
6{
7 let cert_key = rcgen::generate_simple_self_signed(vec!["localhost".to_string()])?;
8 let cert = cert_key.cert.der();
9 let key = cert_key.key_pair.serialize_der();
10
11 Ok((cert.to_owned(), key.try_into().unwrap()))
12}
13
14pub fn hash_files(files: FileSendRecvTree) -> u64 {
15 use std::collections::hash_map::DefaultHasher;
16 use std::hash::{Hash, Hasher};
17
18 let mut hasher = DefaultHasher::new();
19 files.hash(&mut hasher);
20 hasher.finish()
21}