Wie kann ich den Serviceware Authenticator über SSL an das Netzwerk anbinden?

Anmerkung: Es wird nicht empfohlen, den Serviceware Authenticator über SSL-Zertifikate zu nutzen. Verwenden Sie statt dessen Application Request Routing (ARR) mit dem für Ihre Serviceware-Hauptanwendung verwendeten Zertifikat wie im Abschnitt Wie kann ich den Serviceware Authenticator über ARR an das Netzwerk anbinden? beschrieben.

Wenn Sie den Serviceware Authenticator trotzdem über SSL-Zertifikate nutzen wollen, führen Sie zunächst die folgenden Schritte aus, um eine Java-Keystore-Datei mit Zertifikaten zu erstellen.

  1. Exportieren Sie das Zertifikat mit dem privaten Schlüssel als server.pfx-Datei.
    1. Suchen Sie den Alias-Namen des Zertifikates.
    2. Führen Sie das Kommandozeilenprogramm keytool.exe aus. Das Programm befindet sich im Installationsverzeichnis Ihrer Java Installation, der Standardpfad ist C:\Serviceware\Common\Java\bin.
    3. keytool -v -list -storetype pkcs12 -keystore C:\Serviceware\Common\Keystore\server.PFX > C:\Serviceware\Common\Keystore\cert.txt
      Die Datei cert.txt wird geöffnet.
    4. Kopieren Sie den vollständigen Aliasnamen (auch {} wenn vorhanden) aus der Datei cert.txt.
    5. Erzeugen Sie eine Keystore-Datei.
    6. Ersetzen Sie im folgenden Kommando GUID durch den Aliasnamen aus der Datei cert.txt.
      keytool -importkeystore -srckeystore 
      "C:\Serviceware\Common\Keystore\server.PFX" -srcstoretype pkcs12 
      -srcalias GUID -destkeystore "C:\Serviceware\Common\Keystore\keycloak.jks" 
      -deststoretype pkcs12 -deststorepass SECUREPASSWORD -destalias FQDNOFSERVER
    7. Verwenden Sie den erzeugten Schüssel keycloak.jks für die nächsten Schritte.
      Eine Java-Keystore-Datei mit den Zertifikaten zur Installation des Serviceware Authenticator liegt vor.
  2. Nachdem Sie einen JAVA Keystore mit Zertifikaten erzeugt haben, konfigurieren Sie den Serviceware Authenticator entsprechend.
    1. Bearbeiten Sie die standalone.xml, standalone-ha.xml oder die Datei host.xml zur Nutzung der Keystore-Datei.
    2. Aktivieren Sie HTTPS.
    3. Verschieben Sie die Keystore-Datei in das Verzeichnis Configuration Ihrer Installation oder in ein wählbares Verzeichnis, zu dem Sie einen absoluten Pfad angeben können.
    4. Wenn Sie einen absoluten Pfad verwenden, entfernen Sie die optionalen Parameter für den relativen Pfad aus der Konfiguration.
    5. Fügen Sie ein neues Element für den Sicherheitsbereich ein. Nutzen Sie dafür CLI:
      $ /core-service=management/security-realm=UndertowRealm:add()
      $ /core-service=management/security-realm=UndertowRealm/server-identity=ssl:add
      (keystore-path=keycloak.jks,keystore-relative-to=jboss.server.config.dir, keystore-password=secret)
    6. Wenn Sie Domain-Modus verwenden werden die folgenden Kommandos in jedem einzelnen Host über das Kommando /host=<host_name>/ prefix ausgeführt.
      $ /host=<host_name>/core-service=management/security-realm=UndertowRealm/server-identity=ssl:
      add(keystore-path=keycloak.jks,keystore-relative-to=jboss.server.config.dir, keystore-password=secret)
    7. In Standalone- und Host-Konfigurationsdateien sehen die Sicherheitsbereiche wie folgt aus:
      <security-realm name="UndertowRealm">
          <server-identities>
              <ssl>
                  <keystore path="keycloak.jks" relative-to="jboss.server.config.dir" keystore-password="secret" />
              </ssl>
          </server-identities>
      </security-realm>
    8. Suchen Sie in der Standalone- oder in jeder Domain-Konfigurationsdatei nach jeder Instanz des Sicherheitsbereiches. Passen Sie den "HTTPS-listener" für die Nutzung des Sicherheitsbereiches an.
      $ /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=security-realm, value=UndertowRealm)
    9. Bei Nutzung des Domain Modus muss das Kommando mit einem Präfix versehen werden. Wählen Sie dafür das Profil das mit : /profile=<profile_name>/ genutzt wird.
    10. Der daraus resultierende Servername = "default-server" ist ein Kind des Subsystems xmlns="urn:jboss:domain:undertow:11.0" muss den folgenden Abschnitt enthalten: /profile=<profile_name>/
    11. Das daraus resultierende Element server name= "default-server, das ein Element des Subsystems urn:jboss:domain:undertow:11.0" ist, muss die folgenden Bereiche enthalten:
      <subsystem xmlns="urn:jboss:domain:undertow:11.0">
         <buffer-cache name="default"/>
         <server name="default-server">
            <https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/>
         ...
      </subsystem>
      Die Konfiguration ist abgeschlossen.