Manual certificate replacement
Product-specific guides for replacing a TLS certificate by hand on 30 systems - Windows roles, web servers, load balancers, firewalls, hypervisors and orchestrators.
Replacing a certificate is not the same operation on every system. Some products read PEM files, some use a Windows certificate store, and others keep certificate objects behind a management API. The step that actually activates it might be an IIS binding change, a graceful reload, a rolling restart, a policy deployment or a cluster-wide update.
These guides are for doing it by hand, with no aethercert involved. Each one follows the same shape: what to have ready, what the product actually does with a certificate, the replacement steps, how to verify it over the network, how to roll back, and what usually goes wrong. Each ends with a short note on what the matching aethercert deploy target automates, and cites the vendor documentation it is based on.
Use the guide for the system that terminates TLS. If a load balancer sits in front of a web server and terminates there, the load balancer's guide is the one you want.
Microsoft and Windows
| Product | Guide |
|---|---|
| Windows certificate store | Windows Certificate Store |
| IIS | Microsoft IIS |
| Exchange Server | Microsoft Exchange Server |
| AD FS | Microsoft AD FS |
| Remote Desktop listener | Remote Desktop Protocol |
| Remote Desktop Services | Remote Desktop Services |
| WinRM | Windows Remote Management |
| SQL Server | Microsoft SQL Server |
| Skype for Business | Skype for Business Server |
| Hyper-V Replica | Hyper-V Replica |
| VMware Horizon | VMware Horizon Connection Server |
| Citrix StoreFront | Citrix StoreFront |
Web servers and containers
| Product | Guide |
|---|---|
| NGINX | NGINX |
| Apache HTTP Server | Apache HTTP Server |
| Any other Linux service | Custom Linux Service |
| HAProxy | HAProxy |
| Docker | Docker Container |
| Your own script | Custom Deployment Script |
Load balancers, firewalls and appliances
| Product | Guide |
|---|---|
| F5 BIG-IP | F5 BIG-IP |
| Kemp / Progress LoadMaster | Progress Kemp LoadMaster |
| Citrix NetScaler | Citrix NetScaler |
| Fortinet FortiGate | Fortinet FortiGate |
| Palo Alto Networks | Palo Alto Networks PAN-OS |
| Cisco Secure Firewall | Cisco Secure Firewall Management Center |
| Sophos Firewall | Sophos Firewall |
| WatchGuard Firebox | WatchGuard Firebox |
Virtualization and orchestration
| Product | Guide |
|---|---|
| VMware vCenter Server | VMware vCenter Server |
| Nutanix Prism | Nutanix Prism |
| Proxmox VE | Proxmox VE |
| Kubernetes | Kubernetes |
Things that apply almost everywhere
A few points come up in most of these procedures, so they are worth stating once.
-
Importing a certificate is not activating it. Almost every product needs a second step - a binding, an object reference, a service restart - and skipping it leaves the old certificate in service while everything looks done.
-
Serve the chain, not just the leaf. A certificate that validates in your browser because your browser already cached the intermediate will fail for a client that has not.
-
Verify over the network, by hostname. Checking the store or the file on disk proves the import worked, not what the service presents.
openssl s_client -connect app.example.com:443 -servername app.example.com -showcerts -
Keep the old certificate and key until every node is verified. That, plus the previous binding identifier, is what makes a rollback possible.
-
Do every node. A load balancer will happily keep routing to the one server you missed.
Automating this instead
Each guide ends with a note on what the matching aethercert deploy target does. The catalogue, the fields each preset takes and how far each has been verified are on Deploy targets.