A .NET library and client for the ACME protocol (Let's Encrypt CA)
C# PowerShell Batchfile

README.md

ACMESharp

An ACME library and client for the .NET platform.

For documentation and getting started, go to the wiki which includes the FAQ.

For announcements and discussions please see go to the Community Forums.


Build status Join the chat at https://gitter.im/ebekker/letsencrypt-win Coverity Scan Build Status

PS3 PS4 PS5
PS3 Test Status PS4 Test Status PS5 Test Status

Please note, this project was formerly named letsencrypt-win.

Related

Check out these other related projects:


Jump To:

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

Overview

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 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.

Current State

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.

Quick Start

You can find an example of how to get started quickly here.

Please note, all documentation is still work-in-progress.