Skip to content
An ACME client library and PowerShell client for the .NET platform (Let's Encrypt)
C# PowerShell Batchfile
Branch: master
Clone or download

Latest commit

ebekker Merge pull request #369 from JohnLBevan/issue352
#352 - allow ssl flags to remain unchanged
Latest commit 9b02b36 Aug 7, 2019

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ACMESharp Merge pull request #369 from JohnLBevan/issue352 Aug 7, 2019
artwork Updating logo images Apr 3, 2016
ci Fixing up NuGet and PS Module packaging Oct 26, 2017
tools Merging from master (#274) Aug 4, 2017
.gitattributes Initial commit: Aug 17, 2015
.gitignore Merging from master (#274) Aug 4, 2017
LICENSE Finalizing license to MPL 2.0 Nov 12, 2015
README.md Adding note and link to ACMESharp Core Jun 16, 2018
appveyor.yml Update appveyor.yml Jul 16, 2019
cSpell.json Adding VSCode local spell checking config Aug 1, 2017

README.md

ACMESharp

An ACME client library and PowerShell client for the .NET platform.


Interested in ACME v2 or .NET Standard support? Check out ACMESharp Core!


Jump To:


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:

Join the chat at https://gitter.im/ebekker/letsencrypt-win by Gitter
Join the forums at http://groups.google.com/group/acmesharp by Google Groups

Overview

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)
  • CloudFlare

Build Status

Build status Coverity Scan Build Status
PS3 PS4 PS5
PS3 Test Status PS4 Test Status PS5 Test Status

Downloads

ACMESharp PowerShell Client Modules

  • If you just want to use ACMESharp to request and install certificates, then you want the ACMESharp PowerShell client.

  • See the instructions for installing the PowerShell client and the list of available modules.

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

Current State

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.

Quick Start

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


Related Links

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

You can’t perform that action at this time.