top of page

Enabling SSL (Self Signed) in a webserver using Power Shell scripts for Local Dev Environment

  • Writer: Sathyamoorthy Srinivasan
    Sathyamoorthy Srinivasan
  • Jan 13, 2024
  • 1 min read

This stuff is a piece of cake for most of us though, would like to share this as requested by my friend 🙂!


1. Using this Web Administration module, we can perform web hosting operations & detailed information available in this link (https://docs.microsoft.com/en-us/powershell/module/webadministration/?view=windowsserver2022-ps#webadministration)

Import-Module WebAdministration

2. once the module is installed, we can use the below script to create the self-signed certificate, and let’s keep the temp variable ‘binding’ for cert name

$binding = "*.build.mysite"

$cert = New-SelfSignedCertificate -DnsName "$binding" -CertStoreLocation "cert:\LocalMachine\My"

3. Retrieve the destination store & keep the object in ‘destStore’

$DestStore = new-object System.Security.Cryptography.X509Certificates.X509Store([System.Security.Cryptography.X509Certificates.StoreName]::Root,"localmachine")

4. Lets open the connection for an updates


$DestStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)

5. Let’s add the cert in the selected Store & close the connection


$DestStore.Add($cert)

$DestStore.Close()

6. Review the created cert

$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -eq "CN=$binding"}

$cert[0].Thumbprint

7. Interesting part now let’s do some devOps stuff adding the binding to the website using

$siteName = "build.dev.local"

New-WebBinding -Name $siteName -Protocol "https" -Port 443 -IPAddress * -HostHeader $binding -SslFlags 1

(Get-WebBinding -Name $siteName -Port 443 -Protocol "https" -HostHeader $binding).AddSslCertificate($cert.Thumbprint, "my")

Comments


© 2023 by Sathyamoorthy Srinivasan.
Eagerly created for Technical Blogs & Personal Site

Call

Write

+91 7538875020

Follow

  • Blogger
  • Facebook
  • logo_github_01
  • LinkedIn
  • Instagram
bottom of page