10.5.1 HTTPS mit selbstsignierten SSL-Zertifikat
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
Verbinden Sie sich per Remotedesktop mit dem AdvoAll-Benutzerkonto auf jenes Gerät wo die AdvoAll-Anwendung "ADVOKAT_WSDL_Datenaustausch" im Einsatz ist.
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 "AdvokatWSDL" -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=DATENBANKSERVER,DC=test.local,O=Max Mustermann GmbH,OU=IT Abteilung" -DnsName "DATENBANKSERVER.test.local" -FriendlyName "AdvokatWSDL" -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 = "AdvokatWSDL"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 = "AdvokatWSDL"Führen Sie folgende zwei Befehle im Windows PowerShell aus um die URL inklusive Port des WSDL-Server 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://+:3000/ 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:3000 certhash=<Fingerprint> appid={9FC7BC9D-6697-4880-BE8B-23BC848272E0}
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:3000 certhash=f3fee11c9b81b6c6032bf4f411fee93c38398ce1 appid={9FC7BC9D-6697-4880-BE8B-23BC848272E0
}- Navigieren Sie zu "C:\Program Files (x86)\Advokat" und starten Sie "AdvoAll.exe".
- Beenden Sie die AdvoAll Anwendung indem Sie diese markieren und Rechtsklick "Beenden" auswählen.
- Verwenden Sie die Funktion "Beenden erzwingen" nur, wenn nach Nutzung von "Beenden" und einer Wartezeit von 5 Minuten nichts passiert ist.
- Im Fenster "AdvoAll" markieren Sie den Listeneintrag "ADVOKAT_WSDL_Datenaustausch" und wählen Menüpunkt "Bearbeiten" > "Ändern".
Im Feld "Parameter" ergänzen Sie den Parameter "-usehttps" wie im Beispiel ersichtlich.
Beispiel (vorher) Beispiel (nachher) -advoall -ini:"S:\ADVOKAT\Daten\Advokat.ini" -advoall -usehttps -ini:"S:\ADVOKAT\Daten\Advokat.ini"
Im Fenster "AdvoAll" markieren Sie den Listeneintrag "ADVOKAT_WSDL_Datenaustausch" und wählen Menüpunkt "Bearbeiten" > "Konfiguration bearbeiten."
Im Fenster "Xml-Einstellungen bearbeiten" muss die Konfiguration angepasst werden, diese sieht beispielsweise wie folgt aus:Beispiel (vorher)
<WSDLServerConfig SB="ADM" SERVERURL="http://datenbankserver:3000/AdvWSDLServer" LOGLEVEL="2" WSDL="False" DEBUGINFO="True" UseHttps="False"/>
- Kontaktieren Sie die ADVOKAT Individualprogrammierung per Helpdesk (Ticketsystem) oder per E-Mail unter service@advokat.at um das Kennwort zwecks Authentifizierung verschlüsseln zu lassen.
- Das Kennwort ist frei wählbar und sollte möglichst komplex sein. Stellen Sie sicher, dass das Kennwort sicher verwahrt wird. Es sollte sich vom Kennwort laut Schritt 1 unterscheiden.
- In diesem Beispiel wird das Kennwort (Password) "Test1234" gewählt, welches verschlüsselt dem Wert "DLxmEfVUC9CAmjiNyVphWw==" entspricht.
- Im Fenster "Xml-Einstellungen bearbeiten" laut Schritt 8 sind folgende Anpassungen wie im Beispiel ersichtlich vorzunehmen:
- Beim vorhandenen Parameter "SERVERURL" ist das Protokoll von http auf https zu ändern.
- Beim vorhandenen Parameter "UseHttps" ist der Wert von False auf True zu ändern.
In einer neuen Zeile beginnend mit <User.../> sind die Parameter "Name" und "Password" zu ergänzen.
- Der Name entspricht dem Benutzer laut vorhandenen Feld "SB" und Kennwort jenem laut Schritt 9.
In der Zeile <WSDLServerConfig.../> ist der Slash am Ende zu entfernen, sodass die Zeile <WSDLServerConfig...> lautet.
In einer neuen Zeile wird </WSDLServerConfig> eingefügt.
Beispiel (nachher)
<WSDLServerConfig SB="ADM" SERVERURL="https://datenbankserver:3000/AdvWSDLServer" LOGLEVEL="2" WSDL="False" DEBUGINFO="True" UseHttps="True">
<User Name="ADM" Password="DLxmEfVUC9CAmjiNyVphWw=="/>
</WSDLServerConfig>
- Stellen Sie sicher, dass das Zertifikat "Certificate.cer" (PublicKey) laut Schritt 2 auf allen Geräten eingerichtet ist, welche mit dem WSDL-Server kommunizieren.
- Das Zertifikat kann manuell auf die Geräte übertragen und dann per Zertifikatsassistenten installiert oder alternativ per GPO oder Drittsoftware ausgeliefert werden.
- Wie eine Zertifikatsinstallation oder eine Auslieferung per GPO/Drittsoftware erfolgt ist seitens ADVOKAT nicht beschrieben.
- Starten Sie die AdvoAll Anwendung indem Sie diese markieren und Rechtsklick "Starten" auswählen.
Copyright © 2024 ADVOKAT Unternehmensberatung GREITER & GREITER GmbH - Impressum ->https://advokat.at/Impressum.aspx