Wie richtet man beim Gateway SSL/HTTPS ein?

Wie richtet man beim Gateway SSL/HTTPS ein?

Stand 22.08.2025

Um SSL sind mehrere Schritte erforderlich. Grundvoraussetzung ist ein gültiges Zertifikat. Da das Zertifikat ein selbst signiertes ist, muss im Zertifikat CN und SAN (alternativer Name) enthalten sein. Die Namen, die bei SAN eingetragen sind, können verwendet werden (und nur diese) - Wildcards sind möglich. Anderenfalls kommt eine Windows-Sicherheitsmeldung und die Vorschau im Client ist schlimmstenfalls nicht verfügbar oder verlangt ein Login.
Daher sollte zuerst das Zertifikat geprüft werden, bevor es eingerichtet wird.

Diese Formate unterstützen wir: https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21426097

Vollumfängliche Dokumentation: https://enaiodevelop.atlassian.net/wiki/spaces/TLSSSL

 

Grundsätzlich: 

  • Ab 8.00 kann SSL aktiviert werden, siehe KB-144/14. 

  • Ab 8.50 kann man bereits bei der Installation des Gateways auswählen, ob man SSL bzw. HTTPS haben möchte oder nicht. Ansonsten nach KB-160/15 vorgehen = dieser Artikel.

  • Es kann auch nachträglich SSL eingerichtet werden.

 

Wichtig:
Aufgrund erhöhter Sicherheitsrichtlinien muss das Zertifikat in den Java-Zertifikatsspeicher (=cacert-Dateien)! Ab enaio 11.10 kann auch Windows-Zertifikatsspeicher verwendet werden.

Dies bitte beim Gateway und beim Servicemanager (mit Webclient und DMS-Service) und ggfls. auch Appconnector (dies ist von den verwendeten Schnittstellen abhängig) ausführen. Anderenfalls werden die REST-Aufrufe geblockt, auch wenn nur das Gateway auf SSL gestellt ist. 

Schritt-für-Schritt-Anleitung

 

  1. eine BAT-Datei erstellen in einem beliebigen Verzeichnis mit diesem Inhalt:
    <pfad zum gateway>\jdk\bin\keytool.exe -v -list -keystore <pfad zum Zertifikat>\<zertifikatsdatei> > <pfad zum log>\<Info-Datei, z. Bsp. zertinfo.txt> 
    Beispiel:

    C:\enaio\services\gateway\jdk\bin\keytool.exe -v -list -keystore "C:\enaio\services\Gateway\apps\os_gateway\config\gw_keystore.pkcs" > C:\temp\zertinfo.txt
  2. die BAT mit "als Administrator ausführen" ausführen 

  3. Nun kommt eine Passworteingabe. Das Zertifikats-Passwort eingeben. 

  4. Danach die erstellte Datei mit einem Editor öffnen und prüfen.
    Wichtig sind: Aliasname, CN und SAN (=  SubjectAlternativeName)
    Diese müssen vorhanden sein.
    SAN muss Server und URLs enthalten - Wildcard ist möglich, die verwendet werden sollen. D.h. für das Gateway, dass der Gateway-Server in der Liste stehen muss (oder ein passender Wildcardeintrag). 

    Beispiel für ungültiges Zertifikat:
    Problem = Servernamen weichen ab. 



    Beispiel für ein Zertifikat, das verwendet werden kann - Wildcard-Verwendung:

    image-20250822-160300.png



Zertifikat im Gateway einbinden:

  1. Empfehlung: Das Zertifikat in das config-Verzeichnis des Gateway kopieren (services\gateway\apps\os_gateway\config).

  2. application-prod.yml anpassen: die korrekten Daten laut Zert-info.txt eintragen. Bei bestimmten Sonderzeichen sollten die Daten für Alias, Passwort und Zertifikatsdatei in Hochkomma geschrieben werden.
    https: {
      enabled: true,
      keyAlias: <aliasname siehe Zert-info.txt>,
      keystorePass: <passwort des Zertifikats>,
      keystoreFile: config/<zertifikats-Dateiname mit Dateiendung>,
      keystoreType: PKCS12}

Detailbeschreibung für Port umstellen auf 443 (= HTTPS), siehe
https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21425704

Das Zertifikat muss nun noch vertrauenswürdig gemacht werden. Dazu das Zertifikat in die cacerts-Dateien importieren. Ab 11.10 kann alternativ der Windows-Zertifikatsspeicher verwendet werden.

Für den Import in die cacerts-Dateien stehen zur Verfügung:
Entweder mit keytool.exe das Zertifikat importieren oder besser mit KeystoreExplorer (Version KSE544 oder KSE553 oder eine aktuellere Version). 
siehe auch https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Importing_the_Certificate

 

  1. Import per Keytool:
    wichtige Empfehlung: Die cacert-Datei vorher sichern
    Standardpasswort: changeit

    Befehl:
    keytool -import -alias tomcat -keystore <your_keystore_filename> -file <your_certificate_filename>

    Beispiel: 

    keytool -import -alias server03 -keystore D:\enaio\gateway\jdk\jre\lib\security\cacerts -file D:\enaio\services\gateway\apps\os_gateway\config\cert_server03.p12

     

  2. Import per KeystoreExplorer: 
    Download der aktuellen Version: https://keystore-explorer.org/downloads.html
    Die exe benötigt eine Lizenz, die JAR-Datei kann per java.exe gestartet werden. 

    1. Commandline explizit mit "als Administrator ausführen" starten

    2. Aus dem JDK-Verzeichnis des Gateway den Standort der java.exe ermitteln

    3. Aufruf Keystore:
      java.exe -jar <pfad zur keystore-jar-datei>

    4. per "Datei, Öffnen" die cacert-Datei, die geändert werden soll, auswählen (Passwort: changeit). Beispiel:

    5. Nach dem Öffnen "Schlüsselpaar importieren" wählen und das Format wählen.

       

      Danach das Zertifikat auswählen. An dieser Stelle muss das Passwort für das Zertifikat eingegeben werden. Bitte keine Passwörter ändern.

    6. Die cacert-Datei speichern. Sollte nach einem Passwort gefragt werden, changeit eingeben. 

Das Gateway neu starten und das Log prüfen. 
Gibt es Fehlermeldungen? Kann die Config gelesen werden? 
Im Erfolgsfall steht dort, dass der Service erfolgreich mit HTTPS gestartet ist. 

Dazu den enaio Enterprisemanager starten und bei Servereigenschaften alle URLs ohne Port auf https stellen. Die URL muss passend zum Zertifikat (SAN) sein.
Beispiel: https://meinserver.meinedomain.com/

Sollte ein Servicemanager mit Webclient vorhanden sein oder Schnittstellen über den REST-Service arbeiten, dann muss das Zertifikat auch in die cacert-Datei des Servicemanagers - mindestens in den Servicemanager mit Webclient und DMS-Service. 

Empfehlung: Das Zertifikat in das config-Verzeichnis kopieren und von dort importieren. 
Dazu den Schritt 4 wiederholen für die cacerts-Dateien des Servicemanagers. Je nach enaio Version und Patch-Stand können es 2 Verzeichnisse sein. 

Beispiel aus enaio 10.10: 

Am besten über die Windows-Diensteverwaltung, empfohlen ist eine Dienste-stoppen.bat und Dienste-starten.bat

Für den Funktionstest:

  1. zuerst die Logs der Services prüfen, ob es Fehler gibt. 

  2. Client starten und ein Dokument recherchieren. Funktioniert die Vorschau Indexdaten + Dokument?

  3. Webclient (sofern vorhanden) aufrufen und testen. Bitte beachten, dass HTTPS eingegeben werden muss und der FQDN-Name (bzw. wie im Zertifikat angegeben). 

 

Das Zertifikat sollte vom Kunden erstellt werden. Für die Erstellung sind normalerweise mehr Rechte erforderlich, als unser Dienstbenutzer oder Supportbenutzer besitzt. Wir liefern ein Beispiel-Zertifikat aus, das beim Kunden nicht aktiviert werden sollte, da es keine Domain-Kennung enthält. 

Bitte auch daran denken, dass bei HTTPS der FQDN-Name (lt. Zertifikat und Proxy-Einstellungen) verwendet werden sollte, sonst ist das Zertifikat nicht gültig!! 

 

Verwandte Artikel