Dienstag, 23. April 2019

[SSL][IIS][EXCHANGE]SSL Zertifikat mit Namecheap für z.B. IIS / Exchange einrichten


Security -> SSL Certificates
Je nachdem was Ihr braucht, das Zertifikat auswählen. Wichtig, man braucht für jeden Namen eins.
Ich nehme da meistens „PositiveSSL Multi-Domain“ wo 3 Namen inklusive sind

z.B.: www.xy.ch und xy.ch
z.B.: mail.xy.ch, autodiscover.xy.ch

Bestellt dies ganz normal via namechap.

Für den CSR (Certificate Signing Request) nutze ich gerne folgende Webseite:
https://decoder.link/csr_generator

Füllt da die erste Domäne aus, Name, Ort, Mail, Country Code (CH für Schweiz) und unter Show advanced settings die weiteren Domänen. Diese Angaben werden im Zertifikat für jeden ersichtlich sein

Wichtig:
Key Algorithm: RSA 4096
Hash Algorithm: SHA-2(512)
Private Key Algorithm: AES-256

Die Mailadresse sollte überall eine richtige sein, da dort vor dem Ablauf auch eine automatische Mailadresse hingeschickt wird!

GANZ WICHTIG:
Kopiert euch am ende den CSR sowie den PRIVATE KEY (ganz wichtig!) und das Certificate

Bei Namcheap müsst Ihr nun den CSR reinkopieren, prüft nochmals die Domänennamen und passt diese ggf. nochmals an falls ihr zusätzliche habt (der CSR-Generator kann nur maximal 6).

Am besten Ihr wählt IIS als Webserver aus (falls die Frage kommt)

Als nächstes muss die Domäne Validiert werden (damit wird sichergestellt, damit die Domäne im Zertifikat auch euch gehört)

Am einfachsten ist meist per mail an admin@xy.ch
Im Notfall eröffnet halt die Mail kurz beim Hoster oder wo auch immer, oder setzt euch einen Alias…

Ihr bekommt dann eine Mail (pro Domain) mit einem Link und einem «Passwort» welches auf dem Link eingegeben werden muss

Nach ca. 5min sollte das Zertifikat als .zip mit folgendem Inhalt

www_xy_ch.ca-bundle
www_xy_ch.crt
www_xy_ch.p7b

Entpackt das ganze wo hin. Erstellt in dort eine neue Datei private.key und kopiert dort den Private Key rein (----BEGIN RSA PRIVATE KEY--- etc.)

Ladet euch nun eine OpenSSL Binary runter, z.B:
https://slproweb.com/products/Win32OpenSSL.html

Kopiert nun bitte die ganzen Zertifikate-Dateien in den Binary Ordner:
C:\Program Files\OpenSSL-Win64\bin

Im CMD (als Admin) geht Ihr dann in den Ordner der Binary (ggf. Pfad zur OpenSSL Binary anpassen)

cd C:\Program Files\OpenSSL-Win64\bin

Und führt folgende Befehl aus

openssl.exe pkcs12 -export -out certificate.pfx -inkey private.key -in www_xy_ch.crt -certfile www_xy_ch.ca-bundle

Optional (Empfohlen, da es den PrivateKey enthält) könnt Ihr nun ein Passwort noch eingeben

Nun sollte eine Datei certificate.pfx dort generiert werden mit allem drin was nötig ist (Certifikat, Private Schlüssel, Zwischenzertifikat des Herausstellers).

Die anderen Dateien welche Ihr reinkopiert habt können wieder dort gelöscht werden

Sollten andere Formate benötigt werden, schaut bitte hier nach:
http://blog.thunderbyte.ch/search/label/SSL


Die certificate.pfx bringt Ihr wie folgt in den IIS

Ausführen -> mmc
Datei Snap In hinzufügen
Zertifikate
Computerkonto -> Lokaler Computer

Den Baum öffnen
Webhosting -> Zertifikate

Aktion -> Alle Aufgaben -> Importieren

Privater Informationsaustausch (.pfx) auswählen und die Datei auswählen

Falls gesetzt nun das Passwort eingeben
Häckchen bei «Schlüssel als exporterbar markieren» setzen

WICHTIG:
Das Zertifikat ist nun dort drin. Prüft ob dort steht, wenn Ihr es öffnet: Sie besitzen einen privaten Schlüssel für dieses Zertifikat

Falls nicht, nützt euch das ganze Zertifikat nichts bzw. der Private Schlüssel fehlt

Im IIS Manager sollte nun das Zertifikat in der Bindung (https) auswählbar sein
Internetinformationsdienst (ISS)-Manager

Webserver -> Sites
z.B. Default Web Site
Rechts auf Bindungen

HTTPS bearbeiten und dort das Zertifikat auswählen

Prüfen:
Sollte die Webseite / IIS öffentlich zugänglich sein, könnt Ihr dies mit z.B. folgender Webseite nochmals prüfen:
https://decoder.link/sslchecker/

https://ssl-trust.com/SSL-Zertifikate/check

Mögliche Fehler:
Kommt beim import ein RCP-Fehler, kann das verschiedene Ursachen haben.
Probiert erstmal den import via Powershell:

$mypwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below'
Import-PfxCertificate
-FilePath C:\mypfx.pfx -CertStoreLocation Cert:\LocalMachine\My -Password $mypwd.Password
Sollte folgender Fehler erscheinen:
"The PFX file you are trying to import requires either a different password or membership in an Active Directory principal to which it is protected"

müsst Ihr die Verschlüsselung runterschrauben mit OpenSSL:

openssl.exe pkcs12 -incertificate.pfx -out certificate.pem

gefolgt von:

openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in certificate.pem -out newcertificate.pfx -name "my-name"

Keine Kommentare:

Kommentar veröffentlichen