1use rcgen::{Certificate, CertificateParams, KeyPair};
2use std::sync::LazyLock;
3
4pub const CHIK_CA_KEY: &str = include_str!("../chik_ca.key");
5pub const CHIK_CA_CRT: &str = include_str!("../chik_ca.crt");
6
7pub static CHIK_CA: LazyLock<Certificate> = LazyLock::new(load_ca_cert);
8pub static CHIK_CA_KEY_PAIR: LazyLock<KeyPair> =
9 LazyLock::new(|| KeyPair::from_pem(CHIK_CA_KEY).expect("could not load CA keypair"));
10
11fn load_ca_cert() -> Certificate {
12 let params =
13 CertificateParams::from_ca_cert_pem(CHIK_CA_CRT).expect("could not create CA params");
14 params
15 .self_signed(&CHIK_CA_KEY_PAIR)
16 .expect("could not create certificate")
17}