Wat @
markvt zegt inderdaad. Windows 'snapt' private keys alleen als ze in een PFX zitten; die zul je dus om moeten zetten.
Gelukkig hoef je niet per se openssl te installeren (al zou ik dat zeker doen op een management machine als je vaker dingen met certificaten gaat doen), certutil kan het ook.
Zet beide bestandjes in dezelfde map, zorg dat de .key en .pem dezelfde naam hebben (behalve dus de extentie) en haal in die bestandjes (is "leesbare" tekst) alles weg dat buiten de -----BEGIN CERTIFICATE----- en -----END CERTIFICATE----- (of begin key, end key) staat. Voer vervolgens op de commandline het volgende commando uit:
certutil -mergepfx mycert.pem mycert.pfx
(edit, mogelijk is dat niet allemaal nodig en werkt het ook met de "extra" tekst in het bestand; ik heb overal openssl dus bovenstaande komt van Google

Ik zie in de
handleiding van certutil dat die eerste bestandsnaam ook een comma separated list kan zijn en je dus ook de naam van de key er bij kunt zetten: `certutil -mergepfx mycert.pem,mycert.key mycert.pfx`)
Daarna kun je de PFX dubbelklikken, aangeven dat het naar de lokale computer moet (niet naar je gebruiker) en daarna kun je het certificaat in IIS gebruiken.
Open ook de certificate snapin (certlm.msc -> certificates local computer -> personal ) en controleer daar of je certificaat ok is. Op de eerste tabblad moet er bij staan dat je een geldige private key hebt voor je certificate, en op het derde tabblad moeten geen rode kruisjes staan in de boom. Als je rode kruisjes hebt dan moet je de intermediate's en/of root installeren (maar als je de root moet installeren dan is er mogelijk iets mis want dan vertrouwen je gebruikers / klanten het certificaat waarschijnlijk ook niet).
Komt deze server rechtstreeks aan het internet? Je moet altijd stil staan bij hardening, maar als de server rechtstreeks aan het internet hangt is dat nog belangrijker. Denk aan TLS versies (1.0 en 1.1 uitzetten; SSL3 en ouder zou al niet meer aan mogen staan op zo'n nieuw OS), ciphers, welke headers je meestuurt (Server, X-Powered-By, X-AspNet-Version), HSTS, of je delen van de website af wil schermen middels bijvoorbeeld een IP-restrictie (of nog beter, de admin helemaal niet vanaf het internet benaderbaar), etc.
Een site waar je kunt kijken of je website op TLS-gebied een beetje OK is, is
https://www.ssllabs.com/ssltest/, het liefst heb je een A+. Let wil, dit zegt niets over de rest van de site, als je een oude Wordpress installatie gebruikt (of nu de nieuwste installeert en er nooit meer naar omkijkt) dan ga je alsnog nat.
@
Umbrah Die eerste gaat er vanuit dat je al een PFX hebt, en die heeft @
superpeter niet. Die tweede doet ook (veel) meer dan alleen het certificaat koppelen aan een site
Onderstaande is (een deel van) het script dat ik gebruik (met een definitie voor $cn, die komt in het script eigenlijk ergens anders vandaan

En dit script is voor het aanmaken van een webserver, dus ik WEET dat er maar één certificaat met deze naam is. Heb je er meer dan moet je "get the thumbprint" aanpassen. Is er al een certificaat aan de site gekoppeld en wil je deze aanpassen dan moet je onderstaande ook niet gebruiken

).
PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
| $cn = "superpeter.nl"
# Get the thumbprint of the new certificate
$Thumbprint = (Get-ChildItem -Path 'Cert:\localmachine\My' | Where-Object { $_.FriendlyName -eq $cn } | Select-Object -First 1 ).ThumbPrint
# Create HTTPS biding in IIS
New-WebBinding -Name "Default Web Site" -Protocol "https" -IPAddress "*" -Port 443
# Get the new binding
$Binding = Get-WebBinding -Name "Default Web Site" -Protocol "https" -IPAddress "*" -Port 443
# Add the certificate to the binding
$Binding.AddSslCertificate($Thumbprint, "my") |
[
Voor 72% gewijzigd door
Paul op 09-05-2022 10:14
]