requestCertificate method
Request a certificate for domain
using an ACME
client.
Calls doACMEChallenge.
Implementation
Future<bool> requestCertificate(String domain, String email) async {
var accountKeyPair = await certificatesHandler.ensureAccountPEMKeyPair();
await certificatesHandler.ensureDomainPEMKeyPair(domain);
var csr = await certificatesHandler.generateCSR(domain, email);
if (csr == null) {
throw StateError("Can't generate CSR for domain: $domain");
}
var certs = await doACMEChallenge(domain, [email],
accountKeyPair.privateKeyPEM, accountKeyPair.publicKeyPEM, csr);
var ok =
await certificatesHandler.saveSignedCertificateChain(domain, certs);
return ok;
}