1.4.2.2.2 HTTPS mit selbstsignierten SSL-Zertifikat
Dieses Kapitel ist nur relevant, wenn ein selbst signiertes SSL-Zertifikat für den Betrieb des ADVOKAT Server per AdvoAll verwendet werden soll.
Bei Verwendung eines existierenden SSL-Zertifikats für Ihr Unternehmen ignorieren Sie dieses Kapitel und wechseln zu Existierendes SSL-Zertifikat.
Hinweise
In diesem Beispiel wird ein selbst signiertes SSL-Zertifikat mit privatem Schlüssel für einen Server mit Namen "SERVER" 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:
New-SelfSignedCertificate -Subject "CN=<Computername>,DC=<Domäne>,O=<Organisation>,OU=<Organisationseinheit>" -TextExtension @('2.5.29.17={text}DNS=<Computername>.<Domäne>&DNS=<Computername>&IPAddress=<IPv4-Adresse>') -FriendlyName "Advokat.Server" -KeyUsage "DigitalSignature", "DataEncipherment", "KeyEncipherment" -CertStoreLocation "cert:\LocalMachine\My" -KeySpec "KeyExchange" -KeyExportPolicy "Exportable" -NotAfter (Get-Date).AddMonths(60) -HashAlgorithm "SHA256"
Es wird nicht der Parameter -DNSName sondern -TextExtension verwendet um als DNS-Einträge den FQDN als auch Computernamen und die IP-Adresse zu definieren. Mehr Informationen dazu finden Sie in diesem Microsoft Artikel.
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" -TextExtension @('2.5.29.17={text}DNS=SERVER.test.local&DNS=SERVER&IPAddress=192.168.0.1') -FriendlyName "Advokat.Server" -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.
$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.
Import-Certificate -CertStoreLocation 'Cert:\LocalMachine\Root' -FilePath "<Dateipfad>" (Get-ChildItem -Path Cert:\LocalMachine\Root\<Fingerprint>).FriendlyName = "Advokat.Server"
Dieser Schritt ist erforderlich, damit die Vertrauensstellung aktiviert wird und das SSL-Zertifikat als vertrauenswürdig eingestuft wird.
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 = "Advokat.Server"
In der Managemenkonsole (MMC, siehe Absatz "Hinweis" im Bereich "Zertifikate - Lokale Computer") navigieren Sie zum Ordner "Eigene Zertifikate" > "Zertifikate".
Hier wird das laut Schritt 1 erzeugte, selbst signierte SSL-Zertifikat angezeigt. Per Rechtsklick wählen Sie "Alle Aufgaben" > "Private Schlüssel verwalten...".
Im Fenster "Berechtigungen für '<Zertifikatsname>'" klicken Sie auf Schaltfläche "Hinzufügen", es öffnet sich das Fenster "Benutzer, Computer, Dienstkonten oder Gruppen auswählen".
Im Bereich "Geben Sie die zu verwendenden Objektnamen ein" wählen Sie das AdvoAll-Benutzerkonto, klicken auf "Namen überprüfen" und bestätigen mit "OK".
Hinweis: Das ist jener Domänenbenutzer, welcher zur Installation und Konfiguration von AdvoAll verwendet wird, üblicherweise “Domäne\svc_advokat”.
Die Berechtigung "Vollzugriff" ist zu entfernen, da das AdvoAll-Benutzerkonto nur die Berechtigung "Lesen" benötigt. Es wird erneut mit "OK" bestätigt.
Führen Sie folgende Befehl im Windows PowerShell per Rechtsklick > “Als Administrator ausführen” aus um die URL inklusive Port für ADVOKAT Server per AdvoAll zu reservieren.
Dabei handelt es sich um einen sogenannten URL-Reservierungseintrag (Uniform Resource Locator). Mehr Informationen finden Sie in diesem Microsoft Artikel.
netsh http add urlacl url=https://+:Port/ user=Domain\Konto
Als Port geben Sie den Port an, welcher von ADVOKAT Server per AdvoAll verwendet wird, standardmäßig ist das 44318.
Als Benutzer (user) geben Sie das AdvoAll-Benutzerkonto an, also jenes Konto, welches zuvor unter Schritt 4C bereits genutzt wurde.
Beispiel
netsh http add urlacl url=https://+:44318/ user=ADVOKAT\svc_advokat
Führen Sie folgenden Befehl im Windows Befehlszeilenkommando (CMD) per Rechtsklick > “Als Administrator ausführen” aus um jenes das SSL-Zertifikat an den URL-Reservierungseintrag zu binden.
netsh http add sslcert ipport=0.0.0.0:44318 certhash=<Fingerprint> appid={4DC3E181-E14B-4A21-B022-59FC669B0914}
Den Fingerprint finden Sie in der Managementkonsole (siehe Absatz Hinweise) beim verwendeten Zertifikat. Dieses per Doppelklick öffnen und im Reiter "Details" beim Feld "Fingerabdruck" nachsehen.
Als Port geben Sie den selben Port wie bei Schritt 5 an. Die AppID kann bei Bedarf geändert werden, wir empfehlen die Verwendung der vorgeschlagenen AppID laut dieser Dokumentation.
Stellen Sie sicher, dass das Zertifikat (PublicKey) laut Schritt 2 auf allen Geräten eingerichtet ist, welche ADVOKAT verwenden.
Copyright © 2024 ADVOKAT Unternehmensberatung GREITER & GREITER GmbH - Impressum ->https://advokat.at/Impressum.aspx