Tokengeneratoren mit JAX-RPC für den Schutz der Nachrichtenauthentizität auf Server- oder Zellenebene konfigurieren

Der Tokengenerator auf Server- oder Zellenebene wird verwendet, um die Informationen zum Tokengenerator anzugeben, wenn diese Bindungen nicht auf Anwendungsebene definiert sind. Die Signaturdaten und die Verschlüsselungsdaten können dieselben Tokengeneratordaten enthalten. Daher werden sie auf derselben Ebene definiert.

Vorbereitende Schritte

Machen Sie sich bewusst, dass die Keystore- und Aliasinformationen, die Sie für den Generator angeben, sowie die Keystore- und Aliasinformationen, die Sie für den Konsumenten angeben, für verschiedene Zwecke verwendet werden. Der Hauptunterschied liegt beim Alias für einen X.509-Callback-Handler.

Wenn diese Information zusammen mit einem Verschlüsselungsgenerator verwendet wird, wird der für den Generator angegebene Alias verwendet, um den öffentlichen Schlüssel für die Verschlüsselung der Nachricht abzurufen. Ein Kennwort ist nicht erforderlich. Der Alias, der für einen Callback-Handler angegeben wird, der einem Verschlüsselungsgenerator zugeordnet ist, muss ohne Kennwort zugänglich sein. Das bedeutet, dass der Alias keine zugehörigen privaten Schlüsseldaten im Keystore haben darf. Wenn diese Information zusammen mit einem Signaturgenerator verwendet wird, wird der für den Generator angegebene Alias verwendet, um den privaten Schlüssel für die Unterzeichnung der Nachricht abzurufen. Es ist ein Kennwort erforderlich.

Informationen zu diesem Vorgang

WebSphere Application Server stellt Standardwerte für Bindungen bereit. Sie müssen diese Standardwerte für eine Produktionsumgebung ändern.

Sie können den Tokengenerator auf Server- und Zellenebene konfigurieren. Verwenden Sie bei den nachfolgend genannten Schritten die Anweisungen im ersten Schritt für den Zugriff auf die Standardbindungen auf Serverebene und die Anweisungen im zweiten Schritt für den Zugriff auf die Bindungen auf Zellenebene.

Vorgehensweise

  1. Greifen Sie auf die Standardbindungen für die Serverebene zu.
    1. Klicken Sie auf Server > Servertypen > WebSphere-Anwendungsserver > Servername.
    2. Klicken Sie unter "Sicherheit" auf JAX-WS- und JAX-RPC-Sicherheitslaufzeitumgebung.
      Heterogene Umgebung Heterogene Umgebung: Klicken Sie in einer heterogenen Knotenzelle mit einem Server der WebSphere Application Server Version 6.1 oder früher auf Web-Services: Standardbindungen für Web Services Security.mixv
  2. Klicken Sie auf Sicherheit > Web-Services, um auf die Standardbindungen auf Zellenebene zuzugreifen.
  3. Klicken Sie unter "Standardgeneratorbindungen" auf Tokengeneratoren.
  4. Klicken Sie auf Neu um eine Konfiguration für einen Tokengenerator zu erstellen, klicken Sie auf Löschen, um eine vorhandene Konfiguration zu löschen, oder klicken Sie auf den Namen einer vorhandenen Tokengeneratorkonfiguration, um die Einstellungen zu ändern. Wenn Sie eine neue Konfiguration erstellen, geben Sie im Feld Name des Tokengenerators einen eindeutigen Namen für die Tokengeneratorkonfiguration ein. Beispielsweise können Sie den Namen sig_tgen angeben. Dieses Feld gibt den Namen des Tokengeneratorelements an.
  5. Geben Sie im Feld Klassenname für Tokengenerator einen Klassennamen ein. Die JAAS-Anmeldemodulimplementierung (Java™ Authentication and Authorization Service) wird verwendet, um das Sicherheitstoken auf Generatorseite zu erstellen.
    Einschränkung: Die Schnittstelle "com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent" wird für JAX-WS-Web-Services nicht verwendet. Wenn Sie JAX-RPC-Web-Services verwenden, ist diese Schnittstelle weiterhin gültig.

    Für den Namen der Tokengeneratorklasse muss ein ähnlicher Name wie für den Namen der Tokenkonsumentenklasse verwendet werden. Wenn Ihre Anwendung beispielsweise einen Konsumenten eines Token mit X.509-Zertifikat erfordert, können Sie den Klassennamen "com.ibm.wsspi.wssecurity.token.X509TokenConsumer" in der Anzeige "Tokenkonsument" und den Klassennamen "com.ibm.wsspi.wssecurity.token.X509TokenGenerator" in diesem Feld eingeben. WebSphere Application Server stellt die folgenden Standardklassenimplementierungen für Tokengeneratoren bereit:

    com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator
    Diese Implementierung generiert ein Benutzernamenstoken.
    com.ibm.wsspi.wssecurity.token.X509TokenGenerator
    Diese Implementierung generiert ein Token mit X.509-Zertifikat.
    com.ibm.wsspi.wssecurity.token.LTPATokenGenerator
    Diese Implementierung generiert einen LTPA-Token (Lightweight Third Party Authentication).
  6. Wählen Sie eine Option für den Zertifikatspfad aus. Der Zertifikatspfad gibt die Zertifikatswiderrufliste (CRL) an, die für die Generierung eines Sicherheitstoken des Typs PKCS#7 mit CRL verwendet wird. WebSphere Application Server stellt die folgenden Optionen für den Zertifikatspfad bereit:
    Ohne
    Wählen Sie diese Option aus, falls die Zertifikatswiderrufliste nicht für die Generierung des Sicherheitstokens verwendet wird. Sie müssen diese Option auswählen, wenn der Tokengenerator den Tokentyp PKCS#7 nicht verwendet.
    Dedizierte Signaturdaten
    Wenn die CRL in ein Sicherheitstoken aufgenommen wird, wählen Sie Dedizierte Signaturdaten und anschließend im Feld Zertifikatsspeicher den Namen eines Zertifikatssammelspeichers aus. Im Feld Zertifikatsspeicher werden die Namen der Zertifikatssammelspeicher angezeigt, die bereits definiert sind.

    Informationen zum Definieren eines Zertifikatssammelspeichers auf Zellenebene finden Sie im Artikel Zertifikatssammelspeicher auf Server- oder Zellenebene konfigurieren.

  7. Wählen Sie die Option Nonce hinzufügen aus, um einen Nonce in das Benutzernamenstoken des Tokengenerators auszunehmen. Ein Nonce ist eine eindeutige verschlüsselte Nummer, die in eine Nachricht eingebettet wird, um wiederholte, unbefugte Hackerattacken auf Benutzernamenstoken zu verhindern. Die Option Nonce hinzufügen ist verfügbar, wenn Sie ein Benutzernamenstoken für den Tokengenerator angeben.
  8. Wählen Sie die Option Zeitmarke hinzufügen aus, um eine Zeitmarke in das Benutzernamenstoken des Tokengenerators aufzunehmen.
  9. Geben Sie im Feld Lokaler Name den lokalen Namen des Wertetyps an. Gibt den lokalen Namen des Wertetyps für ein Sicherheitstoken an, auf das die Schlüssel-ID verweist. Dieses Attribut ist gültig, wenn als Schlüsseldatentyp Schlüssel-ID ausgewählt wird. Informationen zum Angaben des Schlüsseldatentyps finden Sie im Artikel Schlüsseldaten für die Generatorbindung mit JAX-RPC auf Server- oder Zellenebene konfigurieren. WebSphere Application Server stellt die folgenden vordefinierten Konfigurationen für X.509-Zertifikatstoken bereit:
    X.509-Zertifikatstoken
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3
    X.509-Zertifikate in einem PKIPath
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1
    Liste von X.509-Zertifikaten und CRLs im Format PKCS#7
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7
    LTPA
    Für LTPA ist der lokale Name des Wertetyps LTPA. Wenn Sie für den lokalen Namen LTPA eingeben, müssen Sie auch im Feld URI des Wertetyp den URI-Wert http://www.ibm.com/websphere/appserver/tokentype/5.0.2 angeben.
    LTPA Version 2
    Für LTPA Version 2 lautet der lokale Name des Wertetyps LTPAv2. Wenn Sie LTPAv2 als lokalen Namen angeben, müssen Sie den URI-Wert "http://www.ibm.com/websphere/appserver/tokentype" im Feld URI des Wertetyps angeben.
    LTPA_PROPAGATION
    Für die Weitergabe von LTPA-Token ist der lokale Name des Wertetyps LTPA_PROPAGATION. Wenn Sie für den lokalen Namen LTPA_PROPAGATION eingeben, müssen Sie auch im Feld URI des Wertetyps den URI-Wert http://www.ibm.com/websphere/appserver/tokentype angeben.
    Wenn beispielsweise ein X.509-Zertifikatstoken angegeben ist, können Sie http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 als lokalen Namen verwenden.
  10. Geben Sie den URI für den Wertetyp im Feld URI an. Gibt den Namespace-URI des Wertetyps für ein Sicherheitstoken an, auf das die Schlüssel-ID verweist. Dieses Attribut ist gültig, wenn in der Anzeige "Schlüsseldaten" für den Standardgenerator als Schlüsseldatentyp Schlüssel-ID ausgewählt wird. Wenn das X.509-Zertifikatstoken angegeben ist, müssen Sie den Namespace-URI nicht angeben. Falls ein anderer Token angegeben ist, müssen Sie den Namespace-URI des Wertetyps angeben.
  11. Klicken Sie auf OK und anschließend auf Speichern, um die Konfiguration zu speichern.
  12. Klicken Sie auf den Namen der Tokengeneratorkonfiguration.
  13. Klicken Sie unter "Weitere Eigenschaften" auf Callback-Handler, um die Eigenschaften des Callback-Handlers zu konfigurieren. Der Callback-Handler gibt an, wie das in den Web-Services-Security-Header von SOAP-Nachrichten eingefügte Sicherheitstoken abgerufen wird. Für die Tokenbeschaffung gibt es ein modular aufgebautes Gerüst, das die Schnittstelle javax.security.auth.callback.CallbackHandler von JAAS (Java Authentication and Authorization Service) nutzt, um das Sicherheitstoken anzufordern.
    1. Geben Sie eine Klassenimplementierung für Callback-Handler im Feld Klassenname für Callback-Handler ein. Gibt den Namen der Klassenimplementierung für den Callback-Handler an, mit ein Sicherheitstoken-Framework implementiert wird. Die angegebene Callback-Handler-Klasse muss die Klasse javax.security.auth.callback.CallbackHandler implementieren. WebSphere Application Server stellt die folgenden Standardimplementierungen für Callback-Handler bereit:
      com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
      Dieser Callback-Handler fordert den Benutzernamen und das Kennwort in einem Anmeldedialog an. Wenn Sie in dieser Anzeige den Benutzernamen und das Kennwort angeben, wird jedoch keine Eingabeaufforderung angezeigt. WebSphere Application Server gibt den angegebenen Benutzernamen und das Kennwort an den Tokengenerator zurück. Sie sollten diese Implementierung nur für einen Java EE-Anwendungsclient (Java Platform, Enterprise Edition) verwenden.
      com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
      Dieser Callback-Handler setzt keine Eingabeaufforderung ab und gibt den in dieser Anzeige angegebenen Benutzernamen und das Kennwort zurück. Diesen Callback-Handler können Sie verwenden, wenn der Web-Service die Rolle eines Clients hat.
      com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
      Dieser Callback-Handler fordert den Benutzernamen und das Kennwort mit einer Stdin-Eingabeaufforderung an. Wenn der Benutzername und das Kennwort in dieser Anzeige angegeben sind, setzt WebSphere Application Server jedoch keine Eingabeaufforderung ab, sondern gibt den Benutzernamen und das Kennwort an den Tokengenerator zurück. Sie sollten diese Implementierung nur für einen Java EE-Anwendungsclient (Java Platform, Enterprise Edition) verwenden.
      com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
      Mit diesem Callback-Handler können Sie das LTPA-Sicherheitstoken aus dem Subjekt des RunAs-Aufrufs anfordern. Dieses Token wird als binäres Sicherheitstoken in den Web-Services-Security-Header einer SOAP-Nachricht eingefügt. Wenn der Benutzername und das Kennwort in dieser Anzeige angegeben sind, authentifiziert WebSphere Application Server diese beiden Angaben, um das LTPA-Sicherheitstoken anzufordern. Das Sicherheitstoken wird also nicht aus dem RunAs-Subjekt abgerufen. Verwenden Sie diesen Callback-Handler nur, wenn der Web-Service für den Anwendungsserver die Rolle eines Clients hat. Sie sollten diesen Callback-Handler nicht für einen Java EE-Anwendungsclient verwenden.
      com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
      Mit diesem Callback-Handler können Sie das X.509-Zertifikat erstellen, das als binäres Sicherheitstoken in den Web-Services-Security-Header einer SOAP-Nachricht eingefügt wird. Für diesen Callback-Handler sind eine Keystore-Datei und eine Schlüsseldefinition erforderlich.
      com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
      Mit diesem Callback-Handler werden X.509-Zertifikate erstellt, die mit Format PKCS#7 codiert sind. Das Zertifikat wird als binäres Sicherheitstoken in den Web-Services-Security-Header einer SOAP-Nachricht eingefügt. Für diesen Callback-Handler ist ein Keystore erforderlich. Sie müssen im Zertifikatssammelspeicher eine Liste der entzogenen Zertifikate (CRL, Certificate Revocation List) angeben. Die CRL wird mit dem X.509-Zertifikat im Format PKCS#7 codiert. Weitere Informationen zum Konfigurieren des Zertifikatssammelspeichers finden Sie im Artikel Zertifikatssammelspeicher auf Server- oder Zellenebene konfigurieren.
      com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
      Mit diesem Callback-Handler werden X.509-Zertifikate erstellt, die mit Format PkiPath codiert sind. Das Zertifikat wird als binäres Sicherheitstoken in den Web-Services-Security-Header einer SOAP-Nachricht eingefügt. Für diesen Callback-Handler ist ein Keystore erforderlich. Der Callback-Handler unterstützt keine CRL. Deshalb wird auch kein Zertifikatssammelspeicher benötigt oder verwendet.

      Sie können für ein X.509-Zertifikatstoken die Implementierung com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler angeben.

    2. Optional: Wählen Sie die Option Zusicherung der Identität verwenden aus. Wählen Sie diese Option aus, wenn Sie im erweiterten IBM Implementierungsdeskriptor die Zusicherung der Identität definiert haben. Diese Option gibt an, dass nur die Identität des ursprünglichen Senders erforderlich ist und in den Web-Services-Security-Header einer SOAP-Nachricht eingefügt wird. Bei einem Generator für Benutzernamenstoken sendet WebSphere Application Server beispielsweise nur den Benutzernamen des ursprünglichen Aufrufers. Bei einem X.509-Tokengenerator sendet der Anwendungsserver nur das Originalausstellerzertifikat.
    3. Optional: Wählen Sie die Option RunAs-Identität verwenden aus. Wählen Sie diese Option aus, wenn die folgenden Bedingungen zutreffen:
      • Sie haben im erweiterten IBM Implementierungsdeskriptor die Zusicherung der Identität definiert haben.
      • Sie möchten für die Zusicherung der Identität bei einem untergeordneten Aufruf an Stelle der ID des ursprünglichen Callers die RunAs-ID verwenden.
    4. Optional: Geben Sie in den Feldern Benutzer-ID und Kennwort eine Benutzer-ID und ein Kennwort für die Basisauthentifizierung ein. Gibt den Benutzernamen und das Kennwort für die Übergabe an die Konstruktoren der Callback-Handler-Implementierung an. Der Benutzername und das Kennwort für die Basisauthentifizierung werden verwendet, wenn Sie eine der folgenden von WebSphere Application Server bereitgestellten Standard-Callback-Handler-Implementierungen auswählen:
      • com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
    5. Optional: Geben Sie ein Kennwort und ein Verzeichnis für den Keystore an. Der Keystore und die zugehörigen Daten werden benötigt, wenn der Schlüssel oder das Zertifikat für die Generierung eines Token verwendet werden. Die Keystore-Daten sind beispielsweise erforderlich, wenn Sie eine der folgenden von WebSphere Application Server bereitgestellten Standard-Callback-Handler-Implementierungen auswählen:
      • com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler

      Keystore-Dateien enthalten öffentliche und private Schlüssel, CA-Stammzertifikate, Zwischenzertifikate etc. Aus der Keystore-Datei abgerufene Schlüssel werden verwendet, um Nachrichten oder Nachrichtenabschnitte zu signieren und zu validieren bzw. zu verschlüsseln und zu entschlüsseln. Wenn Sie einen Schlüssel aus einer Keystore-Datei abrufen möchten, müssen Sie das Keystore-Kennwort, den Keystore-Pfad und den Keystore-Typ angeben.

  14. Wählen Sie im Feld Typ einen Keystore-Typ aus. WebSphere Application Server stellt die folgenden Optionen bereit:
    JKS
    Verwenden Sie diese Option, wenn Sie Java Cryptography Extensions (JCE) nicht verwenden und Ihre Keystore-Datei das Format Java Keystore (JKS) verwendet.
    JCEKS
    Verwenden Sie diese Option, wenn Sie JCE (Java Cryptography Extensions) verwenden.
    [z/OS]JCERACFKS
    [z/OS]Verwenden Sie JCERACFKS, wenn die Zertifikate in einem SAF-Schlüsselring gespeichert sind (nur z/OS).
    PKCS11KS (PKCS11)
    Verwenden Sie dieses Format, wenn Ihre Keystore-Dateien das PKCS#11-Dateiformat verwenden. Keystore-Dateien mit diesem Format können RSA-Schlüssel auf Verschlüsselungshardware enthalten oder für die Verschlüsselung von Schlüsseln verwendet werden, die für den Schutz Verschlüsselungshardware verwenden.
    PKCS12KS (PKCS12)
    Verwenden Sie diese Option, wenn Ihre Keystore-Dateien das PKCS#12-Dateiformat verwenden.
  15. Klicken Sie auf OK und anschließend auf Speichern, um die Konfiguration zu speichern.
  16. Klicken Sie auf den Namen der Tokengeneratorkonfiguration.
  17. Klicken Sie unter "Weitere Eigenschaften" auf Callback-Handler > Schlüssel.
  18. Klicken Sie auf Neu, um eine Schlüsselkonfiguration zu erstellen, klicken Sie auf Löschen, um eine vorhandene Konfiguration zu löschen, oder klicken Sie auf den Namen einer vorhandenen Schlüsselkonfiguration, um die Einstellungen zu ändern. Wenn Sie eine neue Konfiguration erstellen, geben Sie im Feld Schlüsselname einen eindeutigen Namen für die Schlüsselkonfiguration ein. Dieser Name bezieht sich auf den Namen des Schlüsselobjekts, der in der Keystore-Datei gespeichert ist.
  19. Geben Sie im Feld Schlüsselalias einen Aliasnamen für das Schlüsselobjekt an. Der Alias wird verwendet, wenn der Key-Locator die Schlüsselobjekte im Keystore sucht.
  20. Geben Sie im Feld Schlüsselkennwort das Kennwort für den Schlüssel an.
  21. Klicken Sie auf OK und Speichern, um die Konfiguration zu speichern.

Ergebnisse

Sie haben die Konfiguration der Tokengeneratoren auf Server- bzw. Zellenebene abgeschlossen.

Nächste Schritte

Sie müssen analog eine Konfiguration für den Tokenkonsumenten durchführen.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_configtokengensvrcell
Dateiname:twbs_configtokengensvrcell.html