Posh-ACME
4.32.0
ACME protocol client for obtaining certificates using Let's Encrypt (or other ACME compliant CA)
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) 2018 Ryan Bolger. All rights reserved.
Package Details
Author(s)
- Ryan Bolger
Tags
LetsEncrypt ssl tls certificates acme Linux Mac
Functions
Complete-PAOrder Export-PAAccountKey Get-KeyAuthorization Get-PAAccount Get-PAAuthorization Get-PACertificate Get-PAOrder Get-PAPlugin Get-PAPluginArgs Get-PAProfile Get-PAServer Install-PACertificate Invoke-HttpChallengeListener New-PAAccount New-PACertificate New-PAOrder New-PAAuthorization Publish-Challenge Publish-DnsPersistChallenge Remove-PAAccount Remove-PAOrder Remove-PAServer Revoke-PAAuthorization Revoke-PACertificate Save-Challenge Send-ChallengeAck Set-PAAccount Set-PAOrder Set-PAServer Submit-ChallengeValidation Submit-OrderFinalize Submit-Renewal Unpublish-Challenge Unpublish-DnsPersistChallenge
PSEditions
Dependencies
This module has no dependencies.
Release Notes
## 4.32.0 (2026-03-29)
* New [DNSExit](https://dnsexit.com/) plugin (#668) (Thanks @joxdev13)
* Preliminary support for [dns-persist-01](https://datatracker.ietf.org/doc/draft-ietf-acme-dns-persist/)
* Adds functions `Publish-DnsPersistChallenge` and `Unpublish-DnsPersistChallenge`. These are subject to change while the spec is still in a draft state.
* I wanted to get these released early so folks can start testing the DNS plugins with them. No other core module changes have been added to support the cert workflow for this challenge type yet.
* It is **highly** recommended to test these functions using your preferred DNS plugin. I suspect there are some bugs in some of the plugins that might surface because they have only been tested creating ACME challenge TXT records until now. Please submit issues for plugins that have problems.
* Fixed bug in Infoblox plugin that caused errors when TxtValue required URL escaping
* Added better error handling in `Get-PAPluginArgs` when decrypting encrypted args fails (#654)
### Potentially Breaking Change
* Generated CSRs no longer include the Enhanced Key Usage (EKU) extension.
* This is a fix for CAs that have started rejecting CSRs containing the Client Authentication EKU such as [Google](https://pki.goog/updates/may2025-clientauth.html) due to its deprecation across all public CAs.
* This change has been tested successfully against all known free public ACME CAs. The resulting certs still contain the EKU extension, but which EKUs get added is dependent on the CA as it has always been.
* However, there are many commercial and private CAs I was unable to test against which is why this *might* be a breaking change for them. PLEASE test if you're not using one of the free public ACME CAs.
* If for some reason your preferred CA rejects the new CSRs, you may always fall back to supplying your own CSR using the `-CSRPath` param in many of the functions.
FileList
- Posh-ACME.nuspec
- Posh-ACME.Format.ps1xml
- Posh-ACME.psd1
- Posh-ACME.psm1
- en-US\about_Posh-ACME.help.txt
- en-US\Posh-ACME-help.xml
- lib\BC.Crypto.1.8.8.2-netstandard2.0.dll
- lib\BC.Crypto.1.8.8.2-netstandard2.0.xml
- lib\license.txt
- Plugins\AcmeDns.ps1
- Plugins\Active24.ps1
- Plugins\AddrTools.ps1
- Plugins\Akamai.ps1
- Plugins\Aliyun.ps1
- Plugins\All-Inkl.ps1
- Plugins\Aurora.ps1
- Plugins\AutoDNS.ps1
- Plugins\Azure.ps1
- Plugins\Beget.ps1
- Plugins\BlueCat.ps1
- Plugins\Bunny.ps1
- Plugins\Cloudflare.ps1
- Plugins\ClouDNS.ps1
- Plugins\Combell.ps1
- Plugins\Constellix.ps1
- Plugins\CoreNetworks.ps1
- Plugins\DeSEC.ps1
- Plugins\DMEasy.ps1
- Plugins\DNSExit.ps1
- Plugins\DNSimple.ps1
- Plugins\DNSPod.ps1
- Plugins\DOcean.ps1
- Plugins\DomainOffensive.ps1
- Plugins\Domeneshop.ps1
- Plugins\Dreamhost.ps1
- Plugins\DuckDNS.ps1
- Plugins\Dynu.ps1
- Plugins\EasyDNS.ps1
- Plugins\Easyname.ps1
- Plugins\EuroDNSReseller.ps1
- Plugins\FreeDNS.ps1
- Plugins\Gandi.ps1
- Plugins\GCloud.ps1
- Plugins\GoDaddy.ps1
- Plugins\GoogleDomains.ps1
- Plugins\Hetzner.ps1
- Plugins\HetznerCloud.ps1
- Plugins\HostingDe.ps1
- Plugins\HurricaneElectric.ps1
- Plugins\HurricaneElectricDyn.ps1
- Plugins\IBMSoftLayer.ps1
- Plugins\Infoblox.ps1
- Plugins\Infomaniak.ps1
- Plugins\INWX.ps1
- Plugins\IONOS.ps1
- Plugins\ISPConfig.ps1
- Plugins\LeaseWeb.ps1
- Plugins\Linode.ps1
- Plugins\Loopia.ps1
- Plugins\LuaDns.ps1
- Plugins\Manual.ps1
- Plugins\Namecheap.ps1
- Plugins\NameCom.ps1
- Plugins\NameSilo.ps1
- Plugins\Netcup.ps1
- Plugins\NS1.ps1
- Plugins\OnlineNet.ps1
- Plugins\OVH.ps1
- Plugins\PointDNS.ps1
- Plugins\Porkbun.ps1
- Plugins\PortsManagement.ps1
- Plugins\PowerDNS.ps1
- Plugins\Rackspace.ps1
- Plugins\Regru.ps1
- Plugins\RFC2136.ps1
- Plugins\Route53.ps1
- Plugins\Selectel.ps1
- Plugins\SimpleDNSPlus.ps1
- Plugins\Simply.ps1
- Plugins\SimplyCom.ps1
- Plugins\SOLIDServer.ps1
- Plugins\SSHProxy.ps1
- Plugins\Technitium.ps1
- Plugins\TencentDNS.ps1
- Plugins\TotalUptime.ps1
- Plugins\TransIP.ps1
- Plugins\UKFast.ps1
- Plugins\WebRoot.ps1
- Plugins\WebSelfHost.ps1
- Plugins\WebsupportSK.ps1
- Plugins\WEDOS.ps1
- Plugins\Windows.ps1
- Plugins\Yandex.ps1
- Plugins\Zilore.ps1
- Plugins\ZoneEdit.ps1
- Plugins\Zonomi.ps1
- Plugins\_Example-DNS.ps1
- Plugins\_Example-HTTP.ps1
- Private\AcmeException.ps1
- Private\ConvertFrom-Base64Url.ps1
- Private\ConvertFrom-BCKey.ps1
- Private\ConvertFrom-Jwk.ps1
- Private\ConvertTo-Base64Url.ps1
- Private\ConvertTo-Jwk.ps1
- Private\ConvertTo-PAAuthorization.ps1
- Private\Export-CertPfx.ps1
- Private\Export-PACertFiles.ps1
- Private\Export-Pem.ps1
- Private\Export-PluginArgs.ps1
- Private\Export-PluginVar.ps1
- Private\Get-AlternateLinks.ps1
- Private\Get-ChainIssuers.ps1
- Private\Get-CsrDetails.ps1
- Private\Get-EncryptionParam.ps1
- Private\Get-Nonce.ps1
- Private\Import-PAConfig.ps1
- Private\Import-Pem.ps1
- Private\Import-PfxCertInternal.ps1
- Private\Import-PluginDetail.ps1
- Private\Import-PluginVar.ps1
- Private\Import-WindowsChain.ps1
- Private\InitTLS.ps1
- Private\Invoke-ACME.ps1
- Private\MockWrappers.ps1
- Private\New-AesKey.ps1
- Private\New-Csr.ps1
- Private\New-Jws.ps1
- Private\New-PAKey.ps1
- Private\Register-ArgCompleters.ps1
- Private\Repair-ISODate.ps1
- Private\Set-AltPluginEncryption.ps1
- Private\Split-PemChain.ps1
- Private\Start-SleepProgress.ps1
- Private\Test-SecureStringNotNullOrEmpty.ps1
- Private\Test-ValidDirUrl.ps1
- Private\Test-ValidFriendlyName.ps1
- Private\Test-ValidKey.ps1
- Private\Test-ValidKeyLength.ps1
- Private\Test-ValidPlugin.ps1
- Private\Test-WinOnly.ps1
- Private\Update-PAAccount.ps1
- Private\Update-PAOrder.ps1
- Private\Wait-AuthValidation.ps1
- Public\Complete-PAOrder.ps1
- Public\Export-PAAccountKey.ps1
- Public\Get-KeyAuthorization.ps1
- Public\Get-PAAccount.ps1
- Public\Get-PAAuthorization.ps1
- Public\Get-PACertificate.ps1
- Public\Get-PAOrder.ps1
- Public\Get-PAPlugin.ps1
- Public\Get-PAPluginArgs.ps1
- Public\Get-PAProfile.ps1
- Public\Get-PAServer.ps1
- Public\Install-PACertificate.ps1
- Public\Invoke-HttpChallengeListener.ps1
- Public\New-PAAccount.ps1
- Public\New-PAAuthorization.ps1
- Public\New-PACertificate.ps1
- Public\New-PAOrder.ps1
- Public\Publish-Challenge.ps1
- Public\Publish-DnsPersistChallenge.ps1
- Public\Remove-PAAccount.ps1
- Public\Remove-PAOrder.ps1
- Public\Remove-PAServer.ps1
- Public\Revoke-PAAuthorization.ps1
- Public\Revoke-PACertificate.ps1
- Public\Save-Challenge.ps1
- Public\Send-ChallengeAck.ps1
- Public\Set-PAAccount.ps1
- Public\Set-PAOrder.ps1
- Public\Set-PAServer.ps1
- Public\Submit-ChallengeValidation.ps1
- Public\Submit-OrderFinalize.ps1
- Public\Submit-Renewal.ps1
- Public\Unpublish-Challenge.ps1
- Public\Unpublish-DnsPersistChallenge.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 4.32.0 (current version) | 218 | 4/1/2026 |
| 4.31.1 | 46,304 | 2/7/2026 |
| 4.31.0 | 14,388 | 1/21/2026 |
| 4.30.1 | 53,145 | 11/18/2025 |
| 4.30.0 | 4,028 | 11/14/2025 |
| 4.29.3 | 290,780 | 7/24/2025 |
| 4.29.2 | 24,951 | 7/15/2025 |
| 4.29.1 | 49,473 | 6/26/2025 |
| 4.29.0 | 2,203 | 6/26/2025 |
| 4.28.0 | 363,384 | 2/9/2025 |
| 4.27.0 | 86,564 | 1/8/2025 |
| 4.26.0 | 186,863 | 11/2/2024 |
| 4.25.1 | 164,302 | 9/3/2024 |
| 4.25.0 | 40,464 | 8/18/2024 |
| 4.24.0 | 147,276 | 6/19/2024 |
| 4.23.1 | 58,225 | 5/23/2024 |
| 4.23.0 | 45,964 | 5/4/2024 |
| 4.22.0 | 46,138 | 4/13/2024 |
| 4.21.0 | 75,576 | 3/8/2024 |
| 4.20.0 | 181,081 | 12/13/2023 |
| 4.19.0 | 126,425 | 8/26/2023 |
| 4.18.0 | 50,735 | 6/28/2023 |
| 4.17.1 | 49,200 | 3/29/2023 |
| 4.17.0 | 26,595 | 2/21/2023 |
| 4.16.0 | 61,289 | 11/23/2022 |
| 4.15.1 | 46,090 | 9/9/2022 |
| 4.15.0 | 9,307 | 8/27/2022 |
| 4.14.0 | 146,931 | 4/13/2022 |
| 4.13.1 | 22,023 | 3/14/2022 |
| 4.13.0 | 4,851 | 3/7/2022 |
| 4.12.0 | 39,306 | 1/14/2022 |
| 4.11.0 | 32,179 | 11/24/2021 |
| 4.10.0 | 32,410 | 10/6/2021 |
| 4.9.0 | 13,835 | 9/21/2021 |
| 4.8.1 | 7,320 | 9/12/2021 |
| 4.8.0 | 5,775 | 9/10/2021 |
| 4.7.1 | 11,884 | 8/28/2021 |
| 4.7.0 | 3,293 | 8/24/2021 |
| 4.6.0 | 178,888 | 7/26/2021 |
| 4.5.0 | 64,773 | 5/29/2021 |
| 4.4.0 | 23,122 | 5/3/2021 |
| 4.3.2 | 41,990 | 3/14/2021 |
| 4.3.1 | 1,114 | 3/12/2021 |
| 4.3.0 | 18,785 | 2/24/2021 |
| 4.2.0 | 28,512 | 2/1/2021 |
| 4.1.0 | 19,108 | 1/18/2021 |
| 4.0.0 | 39,869 | 12/19/2020 |
| 3.20.0 | 52,937 | 11/25/2020 |
| 3.19.0 | 6,270 | 11/20/2020 |
| 3.18.1 | 11,400 | 11/12/2020 |
| 3.18.0 | 6,367 | 11/8/2020 |
| 3.17.0 | 24,995 | 10/9/2020 |
| 3.16.0 | 19,384 | 8/31/2020 |
| 3.15.1 | 20,836 | 7/8/2020 |
| 3.15.0 | 4,877 | 6/22/2020 |
| 3.14.0 | 16,880 | 5/7/2020 |
| 3.13.0 | 16,535 | 4/11/2020 |
| 3.12.0 | 36,667 | 12/10/2019 |
| 3.11.0 | 4,970 | 11/12/2019 |
| 3.10.0 | 9,602 | 11/6/2019 |
| 3.9.0 | 1,228 | 10/26/2019 |
| 3.8.0 | 11,911 | 9/27/2019 |
| 3.7.0 | 1,058 | 9/18/2019 |
| 3.6.0 | 3,261 | 8/20/2019 |
| 3.5.0 | 57,849 | 6/21/2019 |
| 3.4.0 | 1,956 | 4/30/2019 |
| 3.3.0 | 970 | 3/24/2019 |
| 3.2.1 | 592 | 3/4/2019 |
| 3.2.0 | 1,390 | 1/22/2019 |
| 3.1.1 | 517 | 12/22/2018 |
| 3.1.0 | 111 | 12/16/2018 |
| 3.0.1 | 332 | 11/30/2018 |
| 3.0.0 | 362 | 11/13/2018 |
| 2.9.1 | 420 | 10/26/2018 |
| 2.9.0 | 358 | 10/6/2018 |
| 2.8.0 | 477 | 9/12/2018 |
| 2.7.1 | 335 | 8/30/2018 |
| 2.7.0 | 289 | 8/12/2018 |
| 2.6.0 | 117 | 8/1/2018 |
| 2.5.0 | 298 | 7/12/2018 |
| 2.4.0 | 412 | 6/1/2018 |
| 2.3.0 | 43 | 5/29/2018 |
| 2.2.0 | 83 | 5/24/2018 |
| 2.1.1 | 65 | 5/19/2018 |
| 2.1.0 | 43 | 5/18/2018 |
| 2.0.1 | 231 | 5/13/2018 |
| 2.0 | 47 | 5/12/2018 |
| 1.1 | 88 | 5/2/2018 |
| 1.0 | 32 | 4/28/2018 |