Documentation for the ACMESharp project

This project is maintained by PKISharp

NOTE: This documentation applies to ACMESharp version 0.9.0 and later

The recommended approach to installing the latest release of the ACMESharp PowerShell client is from the PowerShell Gallery using the native PowerShellGet package management functionality. (PowerShellGet is built-in with WMF5/PS5+ or can be installed for PS3+).

The ACMESharp PowerShell client is composed of several PowerShell modules:

To install and use the PowerShell client, you need to:

  1. install the core module
  2. install one or more extension modules based on your specific need
  3. enable the extension module through the extension management cmdlets

Installing ACMESharp PowerShell Modules

Note that you can install ACMESharp as system-wide PowerShell modules if you run as a privileged user, or as user-local PowerShell modules otherwise. ACMESharp will work either way but some of its functionality will differ based on whether it executes in the context of a privileged user. For example, local assets that are saved will be placed in different locations and some installers will be limited or forbidden unless executing in an elevated context.

Install the Core Module

PS> Install-Module ACMESharp

Install one or more Extension Modules

Determine if you need to install one or more extension modules to supplement core Providers. In this example, we’ll assume that we want to install Providers to support AWS and IIS.

PS> Install-Module ACMESharp.Providers.AWS
PS> Install-Module ACMESharp.Providers.IIS

Enable Extension Modules

Each extension module installed must be enabled so that it can be discovered and accessible by the core module cmdlets.

PS> Import-Module ACMESharp
PS> Enable-ACMEExtensionModule ACMESharp.Providers.AWS
PS> Enable-ACMEExtensionModule ACMESharp.Providers.IIS

Now you should be able to list available providers for a particular extension type and see the added providers reflected in the list:

## List the extension modules that are enabled
PS> Get-ACMEExtensionModule | select Name

## List the discovered Challenge Handler Providers
PS> Get-ACMEChallengeHandlerProfile -ListChallengeHandlers

## List the discovered Installer Providers
PS> Get-ACMEInstallerProfile -ListInstallers

Default and Extended Providers

Several Extension Providers are included with the core PowerShell module and several others are available as extended Provided PowerShell modules. (See what extension types are possible.)

ACMESharp Core Module

The core module includes support for the following providers out of the box:

ACMESharp Extension Modules

At present, the following additional extension providers are supported:

For more info, please see the reference documentation for standard Extension Providers.