Complete Certificate Renewal SOP
This is a tested production workflow for renewing Exchange 2016/2019 certificates.
Overview Steps
- Create a new certificate signing request (CSR)
- Upload the CSR to your certificate provider
- Download the processed certificate from your certificate provider
- Install the certificate on Exchange
- Assign Exchange services to the new certificate on each server
- Delete the old certificate
- Export the new certificate to a PFX file
- Import the certificate to all other Exchange servers
Step-by-Step Commands
1. List Current Certificates
Get-ExchangeCertificate | Where {$_.IsSelfSigned -eq $false} |
Format-List FriendlyName, CertificateDomains, Thumbprint, NotAfter
Purpose: Identify the certificate to renew and note its thumbprint.
2. Generate Certificate Signing Request (CSR)
$certrequest = Get-ExchangeCertificate -Thumbprint B26C3C9B30A2A7371767275043816466CB921738 |
New-ExchangeCertificate -GenerateRequest -PrivateKeyExportable:$true
Important: Replace the thumbprint with your actual certificate thumbprint from step 1.
Note: -PrivateKeyExportable:$true is critical for exporting to other servers later.
3. Save CSR to File
[System.IO.File]::WriteAllBytes('\\EX19-01\C$\Users\<user>\Desktop\certrequest.txt',
[System.Text.Encoding]::Unicode.GetBytes($certrequest))
Modify:
- Replace
EX19-01with your server name - Replace
<user>with your username - Update the path as needed
Next: Submit this certrequest.txt file to your Certificate Authority (CA).