PKISharp / ACME-PS

PowerShell module supporting ACME v2 certificate management
MIT License
106 stars 31 forks source link

ACME-PS

A PowerShell module supporting ACME v2. The module tries to provide you with all means neccessary to enable you to write a script or module which uses an ACME v2 service to create certificates.

Download the Module via Powershell-Gallery https://www.powershellgallery.com/packages/ACME-PS/

Breaking Changes

This is a list of breaking changes, that occured during ongoing development of the module

Version 1.2

Version 1.2 now automatically includes chain certificates, if they are issued by the CA.
While this will not break most users, it is a change in behaviour and thus a breaking change for some.

Version 1.1

Due to changes in RFC 8555 requiring POST-as-GET requests on multiple occasions, we decided to introduce a breaking change. Most commands will now need the State parameter to work correctly. Be aware, that this might not be compatible with non-updated versions of ACME-Servers.

This change also means, you cannot simply call resource urls. To look into the contents of such an URL use Invoke-ACMESignedWebRequest -Url $myResourceUrl -State $myState.

Samples

You'll find a collection of samples and descriptions here. If you find them to be not extensive enough, feel free to provide better samples or request enhancements of them via issues.

Certificate Chain

For Lets Encrypt you can obtain the chain files via https://letsencrypt.org/certificates/. The issued certificate will most likely contain all chain files, if not excluded via ExcludeChain.

Synopsis

How to

Build the module

To create the output, which will be released to PSGallery, call :

PS> & .\build.ps1

Test the module

To run the Pester-Tests call:

PS> & .\ACME-PS\tests\A-Manual-Test-Run.ps1