In diesem Kapitel ist beschrieben wie der Betrieb per HTTPS und die Erstellung eines Zertifikats erfolgt.
Wechseln Sie direkt zum Kapitel Durchführung wenn ADVOKAT Server per AdvoAll betrieben wird oder per IIS betrieben wird, aber per HTTP.
Hinweise
In diesem Beispiel wird ein selbst signiertes SSL-Zertifikat mit privatem Schlüssel für einen Server mit Namen "DATENBANKSERVER" erstellt.
Beachten Sie, dass bei mehreren Schritten die jeweiligen Parameter an Ihren Servernamen angepasst werden müssen.
Zertifikate können in der Windows Managementkonsole angesehen und gewartet werden. Dazu gehen Sie wie folgt vor:
- Start -> Ausführen -> "mmc" aufrufen, die Managementkonsole startet. Menüpunkt "Datei" > "Snap-In hinzufügen / entfernen" auswählen.
In der linken Spalte wählen Sie den Eintrag "Zertifikate" aus und klicken auf Hinzufügen, anschließend auf OK. - Erscheint das Fenster "Zertifikat Snap-In" so wählen Sie den Eintrag "Computerkonto" > "Weiter" > "Lokalen Computer (Computer, auf dem diese Konsole ausgeführt wird)".
- In der Managementkonsole (MMC) in der linken Spalte "Konsolenstamm" beim Eintrag "Zertifikate (Lokaler Computer) zu "Eigene Zertifikate"> "Zertifikate" navigieren.
Anleitung
Starten Sie Windows PowerShell mit administrativen Rechten. Erstellen Sie ein selbst signiertes SSL-Zertifikat durch Verwendung folgenden Befehls:
Befehl
New-SelfSignedCertificate -Subject "CN=<Computername>,DC=<Domäne>,O=<Organisation>,OU=<Organisationseinheit>" -DnsName "<Computername>.<Domäne>" -FriendlyName "AdvokatX" -KeyUsage "DigitalSignature", "DataEncipherment", "KeyEncipherment" -CertStoreLocation "cert:\LocalMachine\My" -KeySpec "KeyExchange" -KeyExportPolicy "Exportable" -NotAfter (Get-Date).AddMonths(60) -HashAlgorithm "SHA256"
Das Zertifikat wird im Zertifikatspeicher unter "Zertifikate (Lokaler Computer)/Eigene Zertifikate/Zertifikate" abgelegt.
Beispiel
New-SelfSignedCertificate -Subject "CN=SERVER,DC=test.local,O=Max Mustermann GmbH,OU=IT Abteilung" -DnsName "SERVER.test.local" -FriendlyName "AdvokatX" -KeyUsage "DigitalSignature", "DataEncipherment", "KeyEncipherment" -CertStoreLocation "cert:\LocalMachine\My" -KeySpec "KeyExchange" -KeyExportPolicy "Exportable" -NotAfter (Get-Date).AddMonths(60) -HashAlgorithm "SHA256"
Führen Sie folgende zwei Befehle im Windows PowerShell aus um den Schlüssel für das Signieren (PrivateKey) und das Zertifikat zur Installation (PublicKey) zu erzeugen.
Befehl
$CertPassword
=
ConvertTo-SecureString
-String
"<Kennwort>"
-Force
-AsPlainText
Export
-PfxCertificate
-Cert
cert:\LocalMachine\My\<Fingerprint>
-FilePath
"C:\PrivateKey.pfx"
-Password
$CertPassword
Export
-Certificate
-Cert
Cert:\LocalMachine\My\<Fingerprint>
-FilePath
C:\Certificate.cer
Das Kennwort ist frei wählbar und sollte möglichst komplex sein. Stellen Sie sicher, dass das Kennwort sicher verwahrt wird.
Den Fingerprint finden Sie in der Managementkonsole (siehe Absatz Hinweise) beim zuvor erstellten Zertifikat. Dieses per Doppelklick öffnen und im Reiter "Details" beim Feld "Fingerabdruck" nachsehen.Beispiel
$CertPassword
=
ConvertTo-SecureString
-String
"<Kennwort>"
-Force
-AsPlainText
Export
-PfxCertificate
-Cert
cert:\LocalMachine\My\
f3fee11c9b81b6c6032bf4f411fee93c38398ce1
-FilePath
"C:\PrivateKey.pfx"
-Password
$CertPassword
Export
-Certificate
-Cert
Cert:\LocalMachine\My\
f3fee11c9b81b6c6032bf4f411fee93c38398ce1
-FilePath
C:\Certificate.cer
Führen Sie folgenden Befehl im Windows PowerShell aus um das SSL-Zertifikat zusätzlich als Zertifikat unter "Vertrauenswürdige Stammzertifizierungsstellen" zu speichern.
Dieser Schritt ist erforderlich, damit die Vertrauensstellung aktiviert wird und das SSL-Zertifikat als vertrauenswürdig eingestuft wird.Befehl
Import-Certificate -CertStoreLocation 'Cert:\LocalMachine\Root' -FilePath "<Dateipfad>"
(Get-ChildItem -Path Cert:\LocalMachine\Root\<Fingerprint>).FriendlyName = "AdvokatX"Der Dateipfad entspricht jenem Pfad, welcher unter Schritt 2 beim Export des Zertifikats (PublicKey) verwendet wurde. Den Fingerprint ermitteln Sie wie unter Schritt 2 beschrieben.
Beispiel
Import-Certificate -CertStoreLocation 'Cert:\LocalMachine\Root' -FilePath "C:\Certificate.cer"
(Get-ChildItem -Path Cert:\LocalMachine\Root\f3fee11c9b81b6c6032bf4f411fee93c38398ce1).FriendlyName = "AdvokatX"Führen Sie folgende zwei Befehle im Windows PowerShell aus um die URL inklusive Port für ADVOKAT X zu reservieren.
Dabei handelt es sich um einen sogenannten URL-Reservierungseintrag (Uniform Resource Locator). Mehr Informationen finden Sie in diesem Microsoft Artikel.Bindung
netsh http add urlacl url=https://+:8443/ user=\Jeder
Anmerkung: Handelt es sich um ein englischsprachiges Betriebssystem, so muss der Text "Jeder" durch "Everyone" ersetzt werden.
Führen Sie folgenden Befehl im Windows Befehlszeilenkommando (CMD) aus um jenes unter Schritt 1 erstellte SSL-Zertifikat an den URL-Reservierungseintrag zu binden.
Befehl
netsh http add sslcert ipport=0.0.0.0:8443 certhash=<Fingerprint> appid={4DC3E181-E14B-4A21-B022-59FC669B0914}
Den Fingerprint finden Sie in der Managementkonsole (siehe Absatz Hinweise) beim zuvor erstellten Zertifikat. Dieses per Doppelklick öffnen und im Reiter "Details" beim Feld "Fingerabdruck" nachsehen.
Die AppID kann bei Bedarf geändert werden, wir empfehlen die Verwendung der vorgeschlagenen AppID laut dieser Dokumentation.Befehl
netsh http add sslcert ipport=0.0.0.0:8443 certhash=f3fee11c9b81b6c6032bf4f411fee93c38398ce1 appid={4DC3E181-E14B-4A21-B022-59FC669B0914
}- Stellen Sie sicher, dass das Zertifikat (PublicKey) laut Schritt 2 auf allen Geräten eingerichtet ist, welche ADVOKAT verwenden.