Wie kann man Windows-Zertifikatsspeicher-Verwendung einstellen - Beispiel Gateway-NG (Stichworte: SSL/HTTPS, Windows-Root-Zertifikat)?
Wie kann man Windows-Zertifikatsspeicher-Verwendung einstellen - Beispiel Gateway-NG (Stichworte: SSL/HTTPS, Windows-Root-Zertifikat)?
Eine umfassende Beschreibung (Beschreibung für alles, also alle Kerndienste und Services) findet man hier: Ende-zu-Ende-Verschlüsselung (TLS/SSL)
Nachfolgend ein Beispiel für Gateway-NG auf SSL stellen und Windows-Zertifikatsspeicher verwenden.
Schritt-für-Schritt-Anleitung
- Zertifikat erstellen lassen. Es muss enthalten: SAN (= SubjectAlternativeName), einen Alias-Namen und CN (Domain).
- Das Zertifikat püfen. Dazu aus einem beliebigen Java-BIN-Verzeichnis das Tool keytool.exe verwenden, siehe auch Wie richtet man beim Gateway SSL/HTTPS ein?.
- Empfehlung: 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
Alternative: per CMD die Befehlszeile eingeben. - Die BAT mit "als Administrator ausführen" ausführen.
- Nun kommt eine Passworteingabe. Das Zertifikats-Passwort eingeben.
- Danach die erstellte Datei mit einem Editor öffnen und prüfen.
- Empfehlung: eine BAT-Datei erstellen in einem beliebigen Verzeichnis mit diesem Inhalt:
- Ist das Zertifikat in Ordnung, eine Text-Datei erstellen namens application-ssl.yml und in das Servicemanager\config-Verzeichnis kopieren.
Sofern es bereits eine im Servicemanager\config-Verzeichnis gibt, diese bearbeiten.
Inhalt der Datei - die orange markierten Stellen an das Kundensystem und die Zertifikatsinfos anpassen:
server.ssl:
enabled: true
key-store: 'D:/_Install/Zertifikate/meinzertifikat.p12'
key-store-type: PKCS12
key-store-password: 'optimal'
key-alias: 'ssl-zertifikat'
key-password: 'optimal'
eureka.instance:
hostname: 'meinserver.domain.de'
non-secure-port-enabled: false
secure-port-enabled: true
secure-port: "${server.port}"
prefer-ip-address: false
homePageUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/"
healthCheckUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/health"
statusPageUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/info"
secureHealthCheckUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/health" - Die Datei servicewatcher-sw.yml im Servicemanager\config-Verzeichnis sichern in einem anderen Verzeichnis. Dann die Datei im Servicemanager\config-Verzeichnis anpassen.
- Erweiterung:
globalOptions:
- -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT
- -Djavax.net.ssl.trustStore=NONE - Anpassung:
Den Gateway-NG-Eintrag suchen und Profile ergänzen um "ssl":
- name: gatewayngservice
type: microservice
profiles: prod,cloud,ssl
instances: 1
memory: 512M
port: 4040
path: ${appBase}/gatewayngservice/gatewayngservice-app.jar
- Erweiterung:
- Das konfigurierte Zertifikat in den Windows-Zertifikatsspeicher importieren. Wichtig: Es muss unter "lokaler Computer - Vertrauenswürdige Herausgeber" (englisch: "trusted publisher") importiert werden.
Kontrolle: Im Windows nach "Computer-Zertifikate verwalten" suchen und auf vertrauenswürdige Herausgeber gehen. Hier muss das importierte Zertifikat zu finden sein (mit Doppelklick kann man es öffnen und prüfen): - Nun noch bei Tab-Java des Servicemanager die Verwendung Windows-Zertifikatsspeicher stellen, ansonsten wird das Zertifikat nicht als vertrauenswürdig eingestuft.
Dazu die Servicemanagerw.exe starten (BIN-Verzeichnis). Empfehlung: Diese Parameter auch beim Gateway und Appconnector einstellen.
Diese Parameter eintragen:-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT
-Djavax.net.ssl.trustStore=NONE - Servicemanager beenden und alle Protokolle entfernen.
- Den Servicemanager starten und im services.log prüfen, ob alle Komponenten starten.
Beim Austausch des Zertifikates muss das neue Zertifikat nur noch in der application-ssl.yml geändert und in den Windows-Zertifikatsspeicher importiert werden.
Bei Updates (enaio Versionswechsel) bitte prüfen, ob die Parameter bei der Servicemanager-W-Exe (Punkt 6) noch vorhanden sind. Versionsfixe überschreiben diesen Parameter nicht.
Verwandte Artikel
, multiple selections available, Use left or right arrow keys to navigate selected items