An ACME client library and PowerShell client for the .NET platform.
Interested in ACME v2 or .NET Standard support? Check out ACMESharp Core!
For NEW Documentation for the v0.9.x releases, please see the new documentation
For OLD documentation and getting started, go to the wiki.
Also, see the the FAQ.
For announcements and discussions please see one of these:
||by Google Groups
This project implements a client library and PowerShell client for the ACME protocol.
- ACMESharp is interoperable with the CA server used by the Let's Encrypt project which is the reference implementation for the server-side ACME protocol.
- ACMESharp includes features comparable to the official Let's Encrypt client which is the reference implementation for the client-side ACME protocol.
The ACMESharp client implementation is broken up into layers that build upon each other:
- basic tools and services required for implementing the ACME protocol and its semantics (JSON Web Signature (JWS), PKI operations, client-side persistence)
- low-level ACME protocol client library that can interoperate with a compliant ACME server
- PowerShell module that implements a powerful client, that functions equally well as a manual tool or a component of a larger automation process, for managing ACME Registrations, Identifiers and Certificates
- collection of Provider extensions that implement Challenge Handlers and Installers for various servers/services.
Some of the Providers available for handling ACME challenges and installing certificates include:
- Microsoft IIS 7.0+
- Microsoft Windows (Cert Store, DNS)
- AWS (S3, Route 53, ELB, IAM)
ACMESharp PowerShell Client Modules
If you just want to use ACMESharp to request and install certificates,
then you want the ACMESharp PowerShell client.
for installing the PowerShell client and the list of available
ACMESharp NuGet Packages
If you are a developer who wants to embed ACMESharp client libraries in your
own projects or want to develop extensions for ACMESharp, see the list of available
This client is fully operable and can successfully interact with the Let's Encrypt production and staging servers to:
- Initialize new Registrations
- Authorize DNS Identifiers
- Issue Certificates
Further, it can successfully install and configure the certificate and related SSL/TLS settings for various local (e.g. IIS, Cert Store) or remote (e.g. AWS, CloudFlare) servers or services.
All documentation is still work-in-progress.
You can find an example of how to get started quickly here.
Check out these other related projects and resources:
This ACME client is being developed against the Boulder CA ACME server reference implementation. See how to quickly spin up your own instance in AWS on an Amazon Linux AMI.
Please note, this project was formerly named