in netbench/src/scenario/builder/certificate.rs [24:42]
fn create_ca(domain: &str, name: String, alg: &'static SignatureAlgorithm) -> rcgen::Certificate {
use rcgen::{
BasicConstraints, Certificate, CertificateParams, DistinguishedName, DnType, IsCa,
KeyUsagePurpose,
};
let mut params = CertificateParams::new(vec![domain.to_string()]);
params.alg = alg;
params.is_ca = IsCa::Ca(BasicConstraints::Unconstrained);
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::KeyCertSign,
KeyUsagePurpose::CrlSign,
];
Certificate::from_params(params).unwrap()
}