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

Powershell: Enable Firewall Log

We sometimes need to enable Windows firewall's log to troubleshoot. Here is how.

Powershell: head and tail command

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

MySQL: Notes

Ways to check MySQL version mysql --version mysql -V dpkg -l 'mysql-sever' mysql -u root -p How to check MySQL version: mysql --version Database folder On Microsoft Windows, by default, MySQL save databases in this folder: %ProgramData%\MySQL\MySQL Server 5.5\data Check databases' size SELECT table_schema AS "Database name", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema; Export database schema $ mysqldump -u root -p --no-data wordpress1001 > c:\backup\schema-wordpress1001.sql Enter password: **************** Create a dedicated user to backup databases Give credit to: http://www.fromdual.com/privileges-of-mysql-backup-user-for-mysqldump Create dedicated mysql user and grant privileges to run backup $ mysql -u root -p CREATE USER 'backupdb'@'localhost' IDENTIFIED BY 'passwordhere'; GRANT SELECT,SHOW VIEW,RELOAD,REPLICATION CLIENT...