There are lots of let’s encrypt computerized instruments for azure however I additionally wished to see if I might use certbot in wsl to generate a wildcard certificates for the azure Friday web site after which add the ensuing certificates to azure app service.
Azure app service in the end wants a particular format known as dot PFX that features the complete certificates path and all intermediates.
Per the docs, App Service personal certificates should meet the next necessities:
- Exported as a password-protected PFX file, encrypted utilizing triple DES.
- Incorporates personal key no less than 2048 bits lengthy
- Incorporates all intermediate certificates and the foundation certificates within the certificates chain.
When you’ve got a PFX that does not meet all these necessities you’ll be able to have Home windows reencrypt the file.
I take advantage of WSL and certbot to create the cert, then I import/export in Home windows and add the ensuing PFX.
Inside WSL, set up certbot:
sudo apt replace
sudo apt set up python3 python3-venv libaugeas0
sudo python3 -m venv /choose/certbot/
sudo /choose/certbot/bin/pip set up --upgrade pip
sudo /choose/certbot/bin/pip set up certbot
Then I generate the cert. You may get a pleasant textual content UI from certbot and replace your DNS as a verification problem. Change this to verify it is two traces, and your domains and subdomains are appropriate and your paths are appropriate.
sudo certbot certonly --manual --preferred-challenges=dns --email YOUR@EMAIL.COM
--server https://acme-v02.api.letsencrypt.org/listing
--agree-tos --manual-public-ip-logging-ok -d "azurefriday.com" -d "*.azurefriday.com"
sudo openssl pkcs12 -export -out AzureFriday2023.pfx
-inkey /and so on/letsencrypt/reside/azurefriday.com/privkey.pem
-in /and so on/letsencrypt/reside/azurefriday.com/fullchain.pem
I then copy the ensuing file to my desktop (verify your desktop path) so it is now within the Home windows world.
sudo cp AzureFriday2023.pfx /mnt/c/Customers/Scott/OneDrive/Desktop
Now from Home windows, import the PFX, observe the thumbprint and export that cert.
Import-PfxCertificate -FilePath "AzureFriday2023.pfx" -CertStoreLocation Cert:LocalMachineMy
-Password (ConvertTo-SecureString -String 'PASSWORDHERE' -AsPlainText -Pressure) -ExportableExport-PfxCertificate -Cert Microsoft.PowerShell.SecurityCertificate::LocalMachineMy597THISISTHETHUMBNAILCF1157B8CEBB7CA1
-FilePath 'AzureFriday2023-fixed.pfx' -Password (ConvertTo-SecureString -String 'PASSWORDHERE' -AsPlainText -Pressure)
Then add the cert to the Certificates part of your App Service, underneath Carry Your Personal Cert.
![Custom Domains in Azure App Service Custom Domains in Azure App Service](https://hanselmanblogcontent.azureedge.net/Windows-Live-Writer/Using-WSL-and-Lets-Encrypt-to-create-Azu_C384/image_3849c466-fcdb-4abd-96ad-8d52a5e93730.png)
Then underneath Customized Domains, click on Replace Binding and choose the brand new cert (with the most recent expiration date).
Subsequent step is to make this much more computerized or choose a extra automated answer however for now, I will fear about this in September and it solved my costly Wildcard Area problem.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, advisor, father, diabetic, and Microsoft worker. He’s a failed stand-up comedian, a cornrower, and a ebook creator.