SSL-Zertifikat für Drittanbieter-Server in Visiativ Process importieren: Fehlerbehebung und Anleitung

 

1. Problemstellung

Sie müssen von Ihrer Visiativ Process-Anwendung aus eine Verbindung zu einem Drittserver (Active Directory, API-Server, etc.) herstellen, indem Sie das SSL-Protokoll verwenden (Beispiel: wenn Sie einen API-Server über HTTPS erreichen müssen oder wenn Sie mit Ihrem Active Directory über LDAPS synchronisieren).

Nachdem Sie Ihre Verbindung konfiguriert haben, baut sie sich nicht auf und Sie finden in den Logs des Servers folgende Protokolldaten:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

2. Lösung

Da Visiativ Process eine Java-Anwendung ist, müssen Sie, um eine Verbindung zu einem Drittserver herstellen zu können, das SSL-Zertifikat mit dem öffentlichen Schlüssel in den TrustStore der JVM importieren, in der die Visiativ Process-Anwendung ausgeführt wird. Java verwendet standardmässig einen TrustStore mit dem Namen cacerts.

Gehen Sie wie folgt vor:

2.1 Abrufen des SSL-Zertifikats vom Server eines Drittanbieters

 

Kontaktieren Sie den Anbieter, der für den Server zuständig ist, mit dem Sie eine Verbindung herstellen möchten, und bitten Sie ihn, Ihnen das SSL-Zertifikat im PEM-Format, das mit der Basis 64 codiert ist, zur Verfügung zu stellen. Üblicherweise wird das Zertifikat eine der folgenden Erweiterungen haben: .pem, .cer, .crt, .key. Sie müssen das Zertifikat in einem Verzeichnis auf Ihrem Server ablegen.

Wenn es sich um einen Webdienst handelt, können Sie das Zertifikat direkt über den Browser abrufen:

Mit Firefox:

Mit Edge:

Mit Chrome:

2.2 Import des Zertifikats in Ihren TrustStore

 

2.2.1 Lokalisierung Ihres VisiativProcess-Verzeichnisses

Suchen Sie auf Ihrem Server das Verzeichnis, in dem die Anwendung Visiativ Process installiert ist. Standardmässig sind die Installationspfade wie folgt:

  • Seit Version 16: C:\MoovappsProcess.
  • Seit Version 18: C:\/VisiativProcess.

Um Ihnen bei der Suche nach diesem Verzeichnis zu helfen, können Sie den folgenden Befehl als Administrator ausführen:

wmic process where “Name= ‘java.exe’ and CommandLine like ‘%jboss%'” get CommandLine

Im weiteren Verlauf dieses Tutorials werden wir dieses Installationsverzeichnis als VISIATIV_PROCESS_HOME bezeichnen.

2.2.2 Import des Zertifikats mit keytool

Wechseln Sie in das Verzeichnis VISIATIV_PROCESS_HOME\jdk\bin

Um das Zertifikat zu importieren, müssen Sie den folgenden Befehl anpassen und ausführen:

keytool -import -trustcacerts -noprompt -storepass changeit -file “C:\temp\www.visiativ.com.crt” -alias “www.visiativ.com” -keystore C:\VisiativProcess\jdk\jre\lib\security\cacerts

Parameter Beschreibung
file Geben Sie hier den vollständigen Pfad zu dem zu importierenden Zertifikat an.
alias Ihr Zertifikat wird mit dem angegebenen Alias verknüpft. Dieser Alias ist nicht wichtig, sollte aber in Ihrem TrustStore einzigartig sein. Eine gute Vorgehensweise ist es, den Namen der Domain und das Ablaufdatum des Zertifikats anzugeben.

 

Beispiel: www.visiaitv.com nov. 2023

keystore Dies ist der Pfad zum TrustStore, in den das Zertifikat importiert werden soll. Dieser Pfad muss mit VISIATIV_PROCESS_HOME\jdk\jre\lib\security\cacerts übereinstimmen.

 

Tipp: Sie können ein Zertifikat anhand seines Aliasnamens aus dem TrustStore entfernen, indem Sie den folgenden Befehl ausführen:

keytool -delete -noprompt -trustcacerts -alias “www.visiativ.com” -keystore C:\VisiativProcess\jdk\jre\lib\security\cacerts -storepass changeit

2.2.3 Neustart der Anwendung Visiativ Process

Damit Ihre Änderungen übernommen werden, muss die Anwendung Visiativ Process neu gestartet werden.

Starten Sie einfach den zugehörigen Windows-Dienst neu, wenn die Anwendung über einen Dienst läuft, oder starten Sie die Anwendung über die Befehlzeile neu.

Autor des Artikels

Thomas Paumier, Application Engineer bei Visiativ Switzerland