acme library

Classes

AcmeAccount
An Acme account. Accounts can be saved for re-use later using toJson method and fromJson constructor respectively.
AcmeAuthorization
Acme data transfer object
AcmeChallenge
Acme data transfer object
AcmeChallengeFile
Data object that stores the name and value of a DNS TXT record. Used for DNS-01 challenges
AcmeChallengeResult
Data object containing certificates and Acme account. This is the result of a successfull call to acmeDns01Challenge
AcmeClient
Makes signed http requests to the ACME server. Can be used instead of acmeDns01Challenge for more control if needed.
AcmeDnsRecord
Data object that stores the name and value of a DNS TXT record. Used for DNS-01 challenges
AcmeIdentifier
Acme data transfer object
AcmeJwk
Acme data transfer object
AcmeOrder
Acme data transfer object

Enums

AcmeStatus
Acme data transfer object

Constants

letsEncryptDirectoryUrl → const String
The public directory url for Let's Encrypt
letsEncryptStagingDirectoryUrl → const String
The public directory url for Let's Encrypt staging. Used for testing

Functions

acmeDns01Challenge({required List<String> hosts, required Future createDnsTxtRecord(String name, String value), required Future<void> removeDnsTxtRecord(dynamic), String? email, bool termsOfServiceAgreed = false, AcmeAccount? account, int maxDnsLookupRetrys = 24, int maxAcmeCheckRetrys = 24, String directoryUrl = letsEncryptDirectoryUrl, void log(String) = print}) Future<AcmeChallengeResult>
Creates certificates using th DNS-01 challenge.
acmeHttp01Challenge({required List<String> hosts, Future serveChallengeFile(String name, String value) = defaultServeChallengeFile, Future<void> removeChallengeFile(dynamic) = defaultRemoveChallengeFile, String? email, bool termsOfServiceAgreed = false, AcmeAccount? account, int maxHttpLookupRetrys = 24, int maxAcmeCheckRetrys = 24, String directoryUrl = letsEncryptDirectoryUrl, void log(String) = print}) Future<AcmeChallengeResult>
Creates certificates using th HTTP-01 challenge.
defaultRemoveChallengeFile(dynamic server) Future<void>
defaultServeChallengeFile(String uri, String content) Future<HttpServer>
generateCsr({required List<String> hosts, required AsymmetricKeyPair<RSAPublicKey, RSAPrivateKey> keys}) String
Generates a certificate signing request. commonName should be your host e.g., "msite.com" "subdomain.mysite.com", or "*.mysite.com" for wildcard certificates. You should generally create a new key pair for each new csr which can be done with the static method AcmeUtils.generateKeyPair
generateRSAKeyPair() → AsymmetricKeyPair<RSAPublicKey, RSAPrivateKey>
Generate an new RSA key pair