Windows-Zertifikatsverwaltung (empfohlen) (service-manager)
Bitte stellen Sie sicher, dass die Zertifikate basierend auf Zertifikatsimport in die Windows-Zertifikatsverwaltung in der Windows-Zertifikatsverwaltung importiert sind.
Konfiguration von enaio® service-manager
application-ssl.yml
Profildatei anlegen
Legen Sie eine neue leere Profildatei ...\services\service-manager\config\application-ssl.yml an, die wir nachfolgend mit Inhalt füllen werden.
Zertifikat einbinden
Fügen Sie die folgenden Zeilen hinzu, um das zu verwendende Zertifikat anzugeben:
application-ssl.yml
server.ssl:
enabled: true
key-store: '<somepath>/not-used.txt'
key-store-type: Windows-ROOT-LOCALMACHINE
key-alias: '<alias>'Passen Sie diese Parameter an:
Parameter | Beschreibung |
|---|---|
| Aktiviert die Datenübertragung per HTTPS. |
| Aus technischen Gründen benötigt der Tomcat-Applicationserver hier eine leere existierende Datei. |
| Siehe Tabelle in unserer FAQ mit den möglichen Werten. |
| Anzeigename (Alias) des Zertifikats aus der Windows-Zertifikatsverwaltung. |
Eureka-Client konfigurieren
Die Konfiguration erfolgt in derselben Datei: ...\services\service-manager\config\application-ssl.yml.
Zertifikate können auf den Hostnamen oder die IP-Adresse ausgestellt werden. Nachfolgend wird sowohl für Zertifikate mit Hostnamen als auch IP-Adresse der einzufügende Code dargestellt. Wählen Sie den zu Ihrem Zertifikat passenden Code aus.
Option A: Hostname-basiertes (Wildcard-)Zertifikat
Bei Verwendung eines Hostname-basierten (Wildcard-)Zertifikats fügen Sie bitte Folgendes am Ende der ...\services\service-manager\config\application-ssl.yml ein:
application-ssl.yml (Beispiel für den Hostnamen)
eureka.instance:
hostname: '<FQDN>'
non-secure-port-enabled: false
secure-port-enabled: true
secure-port: "${server.port}"
prefer-ip-address: falsePassen Sie diese Parameter an:
Parameter | Beschreibung |
|---|---|
| FQDN (Fully Qualifed Domain Name) des Servers, auf dem enaio® service-manager läuft und der dem Alternativnamen (SAN) des Zertifikats entspricht. |
Option B: IP-Adress-Zertifikat
Alternativ bei Verwendung eines IP-Adress-Zertifikats fügen Sie bitte Folgendes am Ende der ...\services\service-manager\config\application-ssl.yml ein:
application-ssl.yml (Beispiel IP-Adresse)
eureka.instance:
prefer-ip-address: true
ipAddress: <1.2.3.4>
non-secure-port-enabled: false
secure-port-enabled: true
secure-port: "${server.port}"Passen Sie diese Parameter an:
Parameter | Beschreibung |
| IP-Adresse des Servers, auf dem enaio® service-manager läuft und der dem Alternativnamen (SAN) des Zertifikats entspricht. |
application-cloud.yml
Falls SSL für den Service 'discovery' aktiv ist, so muss der Parameter eureka.client.service-url.defaultZone in der Konfigurationsdatei ...\services\service-manager\config\application-cloud.yml wie folgt angepasst werden:
application-cloud.yml (eureka)
eureka.client.service-url.defaultZone: https://<FQDN/IP-address>:7261/eureka/Passen Sie diese Parameter an:
Parameter | Beschreibung |
| Abhängig vom Zertifikat wird der FQDN oder die IP-Adresse angegeben. Passen Sie zusätzlich das Protokoll von http zu https an. |
application-cloud.yml (andere Endpunkte)
Stellen Sie sicher, das Sie auch alle anderen Adressen in der Datei ...\services\service-manager\config\application-cloud.yml anpassen, wenn Sie den FQDN oder die IP-Adresse geändert haben - und wechseln Sie den Protokolltyp auf https.
servicewatcher-sw.yml
Profil zuordnen
Das Profil der Datei ...\services\service-manager\config\application-ssl.yml wird in der Konfigurationsdatei ...\services\service-manager\config\servicewatcher-sw.yml den gewünschten Microservices zugeordnet.
Vergewissern Sie sich, dass Sie das neue SSL-Profil zu allen in der YML-Datei registrierten Microservices hinzugefügt haben.
servicewatcher-sw.yml (Beispiel für den admin-service)
applications:
- name: adminservice
type: microservice
profiles: prod,cloud,ssl
instances: 1
memory: 128M
port: 7273
path: ${appBase}/adminservice/adminservice-app.jarPassen Sie diese Parameter an:
Parameter | Beschreibung |
| Stellen Sie sicher, dass das Profil ssl hinzugefügt ist. |
Global java options einschalten
Einige Microservices kommunizieren untereinander und müssen sich vertrauen. Um dies mit der Windows-Zertifikatsverwaltung zu ermöglichen, müssen Sie folgende globalOptions in der Konfigurationsdatei ...\services\service-manager\config\servicewatcher-sw.yml hinzufügen (trustStoreType siehe Tabelle in unserer FAQ).
servicewatcher-sw.yml
globalOptions:
- -Djavax.net.ssl.trustStore=NONE
- -Djavax.net.ssl.trustStoreType=Windows-ROOT-LOCALMACHINEService 'argus'
Für den Service 'argus' als Konfigurationsserver wird die Konfiguration 'Zertifikat einbinden und Eureka-Client konfigurieren' ebenfalls in der Konfigurationsdatei ...\services\service-manager\config\servicewatcher-sw.yml benötigt, analog zu den Werten in der ...\services\service-manager\config\application-ssl.yml.
Hostname-basiertes (Wildcard-)Zertifikat
Bei Verwendung eines Hostnamen-basierten (Wildcard-)Zertifikats:
servicewatcher-sw.yml (Hostname-Zertifikat)
eureka.instance:
hostname: '<FQDN>'
non-secure-port-enabled: false
secure-port-enabled: true
secure-port: "${server.port}"
prefer-ip-address: false
server.ssl:
enabled: true
key-store: '<somepath>/not-used.txt'
key-store-type: Windows-ROOT-LOCALMACHINE
key-alias: <alias>Passen Sie diese Parameter an:
Parameter | Beschreibung |
| FQDN (Fully Qualified Domain Name) des Servers, auf dem enaio® service-manager läuft und der dem Alternativnamen (SAN) des Zertifikats entspricht. |
| Aktiviert die Datenübertragung per HTTPS. |
| Aus technischen Gründen benötigt der Tomcat-Applicationserver hier eine existierende leere Datei. |
| Siehe Tabelle in unserer FAQ mit den möglichen Werten. |
| Anzeigename (Alias) des Zertifikats aus der Windows-Zertifikatsverwaltung. |
Falls in der Datei vorhanden, auskommentieren oder entfernen Sie die Eigenschaft eureka.instance.prefer-ip-address: true. Sie befindet sich in der Regel am Anfang der Datei.
IP-Adress-Zertifikat
Alternativ bei Verwendung eines IP-Adress-Zertifikats:
servicewatcher-sw.yml (IP-Adress-Zertifikat)
eureka.instance:
prefer-ip-address: true
ipAddress: <1.2.3.4>
non-secure-port-enabled: false
secure-port-enabled: true
secure-port: "${server.port}"
server.ssl:
enabled: true
key-store: '<somepath>/not-used.txt'
key-store-type: Windows-ROOT-LOCALMACHINE
key-alias: <alias>
eureka.client.service-url.defaultZone: https://${eureka.instance.ipAddress}:7261/eureka/Passen Sie diese Parameter an:
Parameter | Beschreibung |
| IP-Adresse des Servers, auf dem enaio® service-manager läuft und der dem Alternativnamen (SAN) des Zertifikats entspricht. |
| Aktiviert die Datenübertragung per HTTPS. |
| Aus technischen Gründen benötigt der Tomcat-Applicationserver hier eine existierende leere Datei. |
| Siehe Tabelle in unserer FAQ mit den möglichen Werten. |
| Anzeigename (Alias) des Zertifikats aus dem Windows-Zertifikatsverwaltung. |
Eureka-Client konfigurieren
Wenn SSL für den Service 'argus' aktiv ist, muss der Parameter eureka.client.service-url.defaultZone in der Konfigurationsdatei ...\services\service-manager\config\servicewatcher-sw.yml auch wie folgt angepasst werden:
servicewatcher-sw.yml (eureka-Konfiguration)
eureka.client.service-url.defaultZone: https://${eureka.instance.hostname}:7261/eureka/Mehrere enaio® service-manager
Laufen mehrere enaio® service-manager auf verschiedenen Rechnern, müssen Sie sicherstellen, dass eureka.client.service-url.defaultZone in der ...\services\service-manager\config\servicewatcher-sw.yml auf den FQDN der Hauptinstanz von Eureka verweist und nicht auf ${eureka.instance.ipAddress}.
Spring Cloud-Konfiguration
Zusätzlich muss der Parameter SPRING_CLOUD_CONFIG_URI in der Konfigurationsdatei ...\services\service-manager\config\servicewatcher-sw.yml wie folgt angepasst werden:
servicewatcher-sw.yml
...
globalEnvironment:
SPRING_CLOUD_CONFIG_URI: https://<FQDN/IP-address>:${server.port}${spring.cloud.config.server.prefix}
...Passen Sie diese Parameter an:
Parameter | Beschreibung |
| Je nach gewähltem Zertifikat: der FQDN oder die IP-Adresse der enaio® service-manager-Instanz. Es ist auch möglich, den oben konfigurierten Stellen Sie sicher, dass der entsprechende Parameter
Zudem muss das Protokoll auf https umgestellt werden. |
Selbstsignierte Zertifikate
Wenn Sie ein selbstsigniertes SSL-Zertifikat für die enaio®-Komponenten verwenden, muss das benutzerdefinierte CA-Stammzertifikat, das zum Signieren verwendet wird, in den Windows-Zertifikatsspeicher unter vertrauenswürdige Stammzertifizierungsstellen hinzugefügt werden, da sonst das selbstsignierte Zertifikat nicht als vertrauenswürdig eingestuft wird.
Selbstsignierte Zertifikate
Wenn Sie ein selbstsigniertes SSL-Zertifikat in enaio® service-manager verwenden, dann müssen Sie auf allen Clients dessen CA-Stammzertifikat (ggf. Zertifikatskette) in die vertrauenswürdigen Stammzertifizierungsstellen importieren. Ansonsten wird das Zertifikat von allen Clients als nicht vertrauenswürdig eingestuft und ein Verbindungsaufbau, beispielsweise aus enaio® webclient, schlägt fehl. Wenn Sie den Anweisungen auf der Seite Beispiele für die Erstellung der selbstsignierten Zertifikate gefolgt sind, ist das die Datei CustomRootCA.crt.
enaio_service-managerw.exe
Setzen Sie Java Optionen für den Zugriff auf den Windows-Zertifikatsspeicher.
Starten Sie die
..\services\service-manager\bin\enaio_service-managerw.exeWechseln Sie auf den Tab Java
Fügen Sie die folgenden beiden Zeilen den Java Options hinzu (trustStoreType siehe Tabelle in unserer FAQ):
-Djavax.net.ssl.trustStoreType=Windows-ROOT-LOCALMACHINE -Djavax.net.ssl.trustStore=NONE
Service-Endpunkt aktualisieren
Sichern Sie sich die bestehende Konfiguration der Service-Endpunkte.
Nun passen Sie den Service-Endpoint für Direktzugriff der Discovery unter Console Root > EnterpriseManager > ... > Einstellungen > Servereigenschaften > Services im enaio® enterprise-manager an.
Lautet beispielsweise zuvor der Eintrag http://<FQDN_alt>:7261 wird daraus https://<FQDN_neu>:7261 .
Neustart enaio® service-manager und enaio® gateway
Damit die Änderungen wirksam werden, starten Sie das enaio® gateway und dann den enaio® service-manager neu.
enaio® repository-manager für SAP
Die Komponente enaio® repository-manager, die die SAP-Konnektivität bereitstellt, läuft ebenfalls in enaio® service-manager und wird daher zusammen mit den anderen Services konfiguriert. Es sind jedoch zusätzliche Schritte auf SAP-Seite erforderlich, um das neu hinzugefügte SSL-Zertifikat zu registrieren.
Weitere Informationen finden Sie in der Dokumentation zu enaio® repository-manager unter enaio® repository-manager > Installieren > SSL-Konfiguration
(https://help.optimal-systems.com/enaio/v1110/admin/SAP/de/rm/ssl.htm).