Code Exercise: End-to-End Issuance (Mock)
If you don't have ACM PCA access, implement with a mock:
pub struct MockAcmPca {
ca_cert: rcgen::Certificate,
ca_key: rcgen::KeyPair,
}
impl MockAcmPca {
pub fn issue(&self, csr_pem: &str) -> anyhow::Result<String> {
let csr = rcgen::CertificateSigningRequestParams::from_pem(csr_pem)?;
let cert = csr.signed_by(&self.ca_cert, &self.ca_key,
&self.ca_key)?;
Ok(cert.pem())
}
}
This mock makes Days 11's code testable without AWS credentials.