in netbench/src/scenario/builder/certificate.rs [44:65]
fn create_cert(domain: &str, name: String, alg: &'static SignatureAlgorithm) -> rcgen::Certificate {
use rcgen::{
Certificate, CertificateParams, DistinguishedName, DnType, ExtendedKeyUsagePurpose,
KeyUsagePurpose,
};
let mut params = CertificateParams::new(vec![domain.to_string(), format!("*.{domain}")]);
params.alg = alg;
params.use_authority_key_identifier_extension = true;
params.distinguished_name = DistinguishedName::new();
params.distinguished_name.push(DnType::CountryName, "US");
params.distinguished_name.push(DnType::CommonName, name);
params.key_usages = vec![
KeyUsagePurpose::DigitalSignature,
KeyUsagePurpose::KeyEncipherment,
];
params.extended_key_usages = vec![
ExtendedKeyUsagePurpose::ServerAuth,
ExtendedKeyUsagePurpose::ClientAuth,
];
Certificate::from_params(params).unwrap()
}