Schlüsselpaare für WS-Trust erstellen

WS-Trust Web-Service Security ist nur im Single-Modus möglich.

Verwendung

Absicherung meist mehrerer Web-Services durch einen Security Token Service (STS) über zwei Schlüsselpaare

  • Schlüssel zur Authentifizierung eines Clients am STS-Server

  • Schlüssel zur Authentifizierung eines Clients am Web-Service

Funktionsweise

Beim initialen Aufruf eines Web-Service authentifiziert sich der Client zuerst am STS.

Nach erfolgreicher Authentifizierung erhält der aufrufende Service den öffentlichen Schlüssel des Web-Service vom STS, wodurch der Zugriff auf dem Web-Service ermöglicht wird.

Die Authentifizierung am STS erfolgt mit WS-Secure-Conversation nur einmalig.

Um mit einer einmaligen Authentifizierung am STS den Zugriff auf mehrere Web-Service zu ermöglichen, müssen alle Webservices dieser Gruppe dasselbe Schlüsselpaar nutzen.

Selbstsigniertes Security-Token-Service-/STS-Schlüsselpaar erstellen

Verwendung

Zur Authentifizierung eines Clients an einem Security Token Service

So gehen Sie vor

  1. Generieren Sie ein Schlüsselpaar mit der SubjectKeyIdentifier-Erweiterung.

    Setzen Sie dazu die Optionen gemäß Ihren Anforderungen:

    openssl req -x509 -days 9999 -nodes -newkey rsa:2048 -subj "/C=myCountry/ST=myState/L=myCity/O=myOrganization/OU=myDepartment/CN=myServerName" ‑keyout STS.key -out STS.crt -extensions v3_ca
  2. Konvertieren Sie das im Schritt 1 generierte Schlüsselpaar in das PKCS12-Format, um es in den Java-Keystore importieren zu können. Dabei müssen Sie ein Passwort vergeben.

    openssl pkcs12 -export -in STS.crt -inkey STS.key -out STS.p12
  3. Importieren Sie die PKCS12-Datei in den Java-Keystore.

    keytool -importkeystore -srckeystore STS.p12 -srcstoretype pkcs12 ‑srcalias 1 -srcstorepass <yourPassword> -destkeystore STS.keystore.jks ‑destalias tomcat -deststorepass <yourPassword>
  4. Generieren Sie einen JKS-Truststore mit dem Service-Zertifikat. Als Passwort geben Sie das im Schritt 2 vergebene Passwort an.

    keytool -importcert -keystore STS.truststore.jks -file STS.crt ‑alias tomcat -storepass inubit

Selbstsigniertes Service-Schlüsselpaar erstellen

Verwendung

Zur Authentifizierung eines Clients an einem STS-gesicherten Web-Service

So gehen Sie vor

  1. Generieren Sie ein Schlüsselpaar mit der SubjectKeyIdentifier-Erweiterung.

    Setzen Sie dazu die Optionen gemäß Ihren Anforderungen:

    openssl req -x509 -days 9999 -nodes -newkey rsa:2048 -subj "/C=myCountry/ST=myState/L=myCity/O=myOrganization/OU=myDepartment/CN=myServerName" ‑keyout SecuredService.key -out SecuredService.crt -extensions v3_ca
  2. Konvertieren Sie das im Schritt 1 generierte Schlüsselpaar in das PKCS12-Format, um es in den Java-Keystore importieren zu können. Dabei müssen Sie ein Passwort vergeben.

    openssl pkcs12 -export -in SecuredService.crt -inkey SecuredService.key ‑out SecuredService.p12
  3. Importieren Sie die PKCS12-Datei in den Java-Keystore.

    keytool -importkeystore -srckeystore SecuredService.p12 ‑srcstoretype pkcs12 -srcalias 1 -srcstorepass INUBIT ‑destkeystore SecuredService.keystore.jks -destalias tomcat ‑deststorepass <yourPassword>