Skip to main content

Let's Encrypt on Windows

Let's Encrypt Homepage

Posh-ACME

Use Post-ACME to request SAN SSL Certificate for ADFS Server

# Request SSL SAN Certificate from Let's Encrypt
# https://github.com/rmbolger/Posh-ACME
# Minimum PowerShell version: 5.1

# Install Posh-ACME

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

# install for all users (requires elevated privs)
Install-Module -Name Posh-ACME

# install for current user
# Install-Module -Name Posh-ACME -Scope CurrentUser

# Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned -Force -Scope CurrentUser

# Open firewall port tcp:80 - Use for http-challange method
# netsh advfirewall firewall add rule name = HTTP dir = in protocol = tcp action = allow localport = 80 profile = PUBLIC

$pfxpass = "password-to-protect-cert-file"
$contact_email = "your-email-address"
$domainname = "your-public-domain-name"
$cn = "adfs.${domainname}"
$san1 = "sts.${domainname}"
$san2 = "enterpriseregistration.${domainname}"
$san3 = "certauth.adfs.${domainname}"

# New-PACertificate "*.${domainname}",$domainname -AcceptTOS -Contact $contact_email

# Request SSL Cert using Godaddy's API Key&Secret
# $gdSecret = Read-Host Secret -AsSecureString
$gdkey = "godaddy-api-key"
$gdsecret = "godaddy-api-secret"
$pArgs = @{GDKey=$gdkey;GDSecret=$gdsecret}

New-PACertificate $cn,$san1,$san2,$san3 -DnsPlugin GoDaddy -PluginArgs $pArgs -AcceptTOS -Contact $contact_email -PfxPass $pfxpass -Install

# Get SSl Cert
Get-PACertificate | Format-List

Popular posts from this blog

GNU nano Text Editor

nano - Nano's ANOther editor, an enhanced free Pico clone

Powershell: head and tail command

Use head or tail to skim the first or last 5 lines.

Using Powershell to manage Hyper-V

Common powershell cmdlets to manage Hyper-V.