An ACME library and client for the .NET platform.
For announcements and discussions please see go to the Community Forums.
Please note, this project was formerly named
Check out these other related projects:
- An alternative simple ACME client for Windows which features:
- simple usage for common scenarios
- IIS support
- automatic renewals
- A GUI interface to this project's PowerShell module
- The official python ACME client of the [Let's Encrypt] project
- The ACME specification which brings this all together (under development)
- See other contributions
This project implements an ACME client library and PowerShell modules interoperable with the Let's Encrypt ACME CA server reference implemention and includes features comparable to the Let's Encrypt client reference implementation.
The PowerShell modules include installers for configuring:
- IIS 7.0+ either locally or remotely (over PSSession)
- AWS Server Certificates and ELB Listeners
This ACME client implementation is broken up into layers that build upon each other:
- Basic tools and service required for implementing ACME protocol (JSON Web Signature (JWS), persistence, PKI operations via OpenSSL) (.NET assembly)
- A low-level ACME protocol client that can interoperate with a proper ACME server (.NET assembly)
- A PowerShell Module that implements a "local vault" for managing ACME Registrations, Identifiers and Certificates (PS Binary Module)
- A set of PowerShell Modules that implement installers for various servers/services (PS Script Modules)
- IIS Installer
- AWS Installer
- Future Installers...
This client is now operable and can successfully interact with the Let's Encrypt staging CA to initialize new Registrations, authorize DNS Identifiers and issue Certificates. Further, it can successfully install and configure the certificate and related SSL/TLS settings for a local or remote IIS 7.0+ server or an AWS environment.
You can find an example of how to get started quickly here.
Please note, all documentation is still work-in-progress.