Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Standardmäßig wird der WSDL-Server per HTTP ohne Zertifikat betrieben. In diesem Kapitel ist beschrieben wie der Betrieb per HTTPS und die Erstellung eines Zertifikats erfolgt.
Bei Verwendung von HTTPS ist die Authentifizierung per konfigurierbaren Benutzer erforderlich, diese wird auch beschrieben.

Hinweise

In diesem Beispiel wird ein selbst signiertes existierendes SSL-Zertifikat mit privatem Schlüssel für einen Server mit Namen "DATENBANKSERVER" erstelltverwendet.
Beachten Sie, dass bei mehreren Schritten die jeweiligen Parameter an Ihren Servernamen angepasst werden müssen.

...

  1. 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. 

  2. Erscheint das Fenster "Zertifikat Snap-In" so wählen Sie den Eintrag "Computerkonto" > "Weiter" > "Lokalen Computer (Computer, auf dem diese Konsole ausgeführt wird)".


  3. In der Managementkonsole (MMC) in der linken Spalte "Konsolenstamm" beim Eintrag "Zertifikate (Lokaler Computer) zu "Eigene Zertifikate"> "Zertifikate" navigieren.

Anleitung

  1. Verbinden Sie sich per Remotedesktop mit dem Serviceaccount von 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: 
    Info
    titleBefehl

    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 Stellen Sie sicher, dass das existierende Zertifikat im Zertifikatspeicher unter "Zertifikate (Lokaler Computer)/Eigene Zertifikate/Zertifikate" abgelegt.
    Info
    titleBeispiel

    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"

  2. 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.

    Info
    titleBefehl

    $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.

    Info
    titleBeispiel

    $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

     

  3. 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.

    Info
    titleBefehl

    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.

    Info
    titleBeispiel

    Import-Certificate -CertStoreLocation 'Cert:\LocalMachine\Root' -FilePath "C:\Certificate.cer"
    (Get-ChildItem -Path Cert:\LocalMachine\Root\f3fee11c9b81b6c6032bf4f411fee93c38398ce1).FriendlyName = "AdvokatWSDL"

    Führen Sie verfügbar ist.

  4. 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.

    Info
    titleBindung

    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.
     

  5. Führen Sie folgenden Befehl im Windows Befehlszeilenkommando (CMD) aus um jenes unter Schritt 1 erstellte das existierende SSL-Zertifikat an den URL-Reservierungseintrag zu binden.

    Info
    titleBefehl

    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.

    Info
    titleBefehl

    netsh http add sslcert ipport=0.0.0.0:3000 certhash=f3fee11c9b81b6c6032bf4f411fee93c38398ce1 appid={9FC7BC9D-6697-4880-BE8B-23BC848272E0}

     

  6. 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.

  7. 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"

       

  8. 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:

    Info
    titleBeispiel (vorher)

    <WSDLServerConfig SB="ADM" SERVERURL="http://datenbankserver:3000/AdvWSDLServer" LOGLEVEL="2" WSDL="False" DEBUGINFO="True" UseHttps="False"/>

       

  9. Kontaktieren Sie den ADVOKAT Support per Mail (support@advokat.at) oder telefonisch unter +43 512 / 58 80 33 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.

  10. 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.

      Info
      titleBeispiel (nachher)

      <WSDLServerConfig SB="ADM" SERVERURL="https://datenbankserver:3000/AdvWSDLServer" LOGLEVEL="2" WSDL="False" DEBUGINFO="True" UseHttps="True">
            <User Name="ADM" Password="DLxmEfVUC9CAmjiNyVphWw=="/>
      </WSDLServerConfig>

       

  11. 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.

  12. Starten Sie die AdvoAll Anwendung indem Sie diese markieren und Rechtsklick "Starten" auswählen.