Verwenden Sie diese Seite, um die Einstellungen für Callback-Handler für JAX-WS zu konfigurieren. Diese Einstellungen bestimmen, wie die Sicherheitstoken aus Nachrichtenheadern übernommen werden.
Sie können die Einstellungen des Callback-Handlers konfigurieren, wenn Sie eine allgemeine Bindung auf Zellen- oder Serverebene bearbeiten. Sie können auch anwendungsspezifische Bindungen für Token und Nachrichtenabschnitte konfigurieren, die vom Richtliniensatz gefordert werden.
Fehler vermeiden: Bevor Sie Werte für die Eigenschaften
Keystore und Schlüssel auf dieser Seite
angeben, müssen Sie sich bewusst machen, 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:
gotcha![[Aktualisierung Oktober 2013]](../images/delta.gif)
Fehler vermeiden: Da ein zum Unterzeichnen der Nachricht verwendeter Alias ein Kennwort erfordert, ein Alias, der zum Verschlüsseln einer Nachricht verwendet wird, jedoch nicht, können Sie nicht denselben Alias für einen Signatur- und einen Verschlüsselungsgenerator verwenden. gotcha![[Aktualisierung Oktober 2013]](../images/deltaend.gif)
Wenn diese Information zusammen mit einem Signaturkonsumenten verwendet wird, wird der für den Konsumenten angegebene Alias nur verwendet, um den öffentlichen Schlüssel abzurufen, der verwendet wird, um ein X.509-Zertifikat, das im SOAP-Sicherheitsheader nicht als BinarySecurityToken übergeben wird, aufzulösen. Ein Kennwort ist nicht erforderlich.
Der Alias, der für einen Callback-Handler angegeben wird, der einem Signaturkonsumenten zugeordnet ist, muss ohne Kennwort zugänglich sein. Das bedeutet, dass der Alias keine zugehörigen privaten Schlüsseldaten im Keystore haben darf.
Wenn ein X.509-Zertifikat im SOAP-Sicherheitsheader nicht als BinarySecurityToken übergeben wird, erscheint eine SecurityTokenReference im Element KeyInfo im Element Signature des SOAP-Sicherheitsheaders, das zum Auflösen des X.509-Zertifikats verwendet wird. Die Methoden, die verwendet werden können, sind Schlüssel-ID, Name und Seriennummer des X.509-Ausstellers und Fingerabdruck. Der Konsument akzeptiert jede dieser drei Methoden für die Auflösung eines X.509-Zertifikats außerhalb der Nachricht, wenn ein Keystore/Alias für einen X.509-Tokenkonsumenten konfiguriert ist, dem ein Siganaturkonsument zugeordnet ist. Der X.509-Tokenkonsument nimmt außerhalb der Nachricht keine Auflösung von Zertifikaten in Keystoreeinträge vor. Die zu verwendenden Zertifikate müssen zur Konfigurationszeit bekannt sein und im Callback-Handler des X.509-Tokenkonsumenten fest codiert werden.
Wenn ein X.509-Zertifikat außerhalb der Nachricht aufgelöst werden soll, können Sie bei der Verwendung allgemeiner Bindungen mehrere Zertifikate auflösen, allerdings nur, wenn anwendungsspezifische Bindungen verwendet werden. Wenn anwendungsspezifische Bindungen verwendet werden, kann nur ein Zertifikat außerhalb der Nachricht aufgelöst werden, weil in anwendungsspezifischen Bindungen nur ein X.509-Tokenkonsument verfügbar ist. Daher kann nur ein Alias verwendet und nur ein Zertifikat aufgelöst werden. Wenn der X.509-Tokenkonsument für Zertifikat A konfiguriert ist und Client A die Schlüssel-ID für Zertifikat A sendet, kann das Zertifikat abgerufen werden. Sendet der Client B jedoch die Schlüssel-ID für Zertifikat B, kann das Zertifikat nicht abgerufen werden, und die Nachricht wird zurückgewiesen.
Wenn allgemeine Bindungen verwendet werden, können mehrere X.509-Tokenkonsumenten mit verschiedenen Zertifikatskonfigurationen erstellt werden (Keystore/Alias). Alle X.509-Tokenkonsumenten, die den Zertifikation zugeordnet sind, die Sie auflösen möchten, werden dann den Signierschlüsselinformationen der Konfiguration Ihres signierten Abschnitts in den Bindungen zugeordnet.
Wenn ein X.509-Zertifikat im SOAP-Sicherheitsheader als BinarySecurityToken gesendet wird und ein Keystore/Alias im X.509-Tokenkonsumenten konfiguriert ist, der einem Signaturkonsumenten zugeordnet ist, wird das im Konsumenten konfigurierte Zertifikat mit dem Zertifikat verglichen, das in der Nachricht übegeben wird. Wenn die Zertifikate nicht übereinstimmen, wird die Nachricht zurückgewiesen. Dieses Verhalten ist anders als bei JAX-RPC. Das Zertifikat, das dem im X.509-Tokenkonsumenten konfigurierten Alias zugeordnet ist, wird nicht für die Bewertung der Vertrauensstellung im eingehenden Zertifikat verwendet. Für diesen Zweck werden nur der Truststore und die Zertifikatsspeicher verwendet.
com.ibm.wsspi.wssecurity.consumer.callbackHandlerKeystoreLimitsAccess=false
![[Aktualisierung Oktober 2013]](../images/delta.gif)
Fehler vermeiden: Da ein Alias, der zum Entschlüsseln einer Nachricht verwendet wird, ein Kennwort erfordert, während ein Alias zum Überprüfen einer Signatur kein Kennwort erfordert, können Sie nicht denselben Alias für einen Signatur- und einen Verschlüsselungskonsumenten verwenden. gotcha![[Aktualisierung Oktober 2013]](../images/deltaend.gif)
Diese Seite der Administrationskonsole bezieht sich nur auf JAX-WS-Anwendungen (Java API for XML Web Services).
Auf der Seite "Callback-Handler" werden je nach Token, das konfiguriert wird, unterschiedliche Felder angezeigt. Je nachdem, ob Sie Generator- oder Konsumententoken für den Zugriffsschutz oder eingehende oder abgehende Token für die Authentifizierung konfigurieren, werden in den Abschnitten in dieser Anzeige alle oder einige der Felder angezeigt, die in diesem Artikel beschrieben werden. Diesbezügliche Informationen können Sie den Beschreibungen der Felder entnehmen.
Die Felder im Abschnitt "Klassenname" sind für alle Tokenkonfigurationstypen verfügbar.
Wählen Sie den für den Callback-Handler zu verwendenden Klassennamen aus. Wählen Sie für den normalen Betrieb die Option Integrierte Standardklasse verwenden aus. Verwenden Sie die Option Angepasste Klasse verwenden nur aus, wenn Sie einen angepassten Tokentyp verwenden.
Für den angepassten Kerberos-Tokentyp verwenden Sie den Klassennamen com.ibm.websphere.wssecurity.callbackhandler.KRBTokenGenerateCallbackHandler für die Tokengeneratorkonfiguration. Verwenden Sie com.ibm.websphere.wssecurity.callbackhandler.KRBTokenConsumeCallbackHandler für die Tokenkonsumentenkonfiguration.
Gibt an, dass für den Klassennamen der Standardwert verwendet wird. Wenn Sie dieses Optionsfeld auswählen, wird der (im Feld angezeigte) Standardwert für den Klassennamen verwendet. Der Name richtet sich nach dem Tokentyp und danach, ob der Callback-Handler für einen Tokengenerator oder einen Tokenkonsumenten bestimmt ist. Diese Option und die Option Angepasste Klasse verwenden schließen sich gegenseitig aus.
Gibt an, dass für den Klassennamen ein angepasster Wert verwendet wird. Wählen Sie dieses Optionsfeld aus, und geben Sie in dem Feld den Namen ein, den Sie als Klassennamen verwenden möchten.
Für dieses Eingabefeld ist kein Standardwert verfügbar. Verwenden Sie die Informationen in der folgenden Tabelle, um den Wert zu bestimmen:
| Tokentyp | Konsument oder Generator | Klassenname des Callback-Handlers |
|---|---|---|
| UsernameToken | Konsument | com.ibm.websphere.wssecurity.callbackhandler.UNTConsumeCallbackHandler |
| UsernameToken | Generator | com.ibm.websphere.wssecurity.callbackhandler.UNTGenerateCallbackHandler |
| X509Token | Konsument | com.ibm.websphere.wssecurity.callbackhandler.X509ConsumeCallbackHandler |
| X509Token | Generator | com.ibm.websphere.wssecurity.callbackhandler.X509GenerateCallbackHandler |
| LTPAToken/LTPAPropagationToken | Konsument | com.ibm.websphere.wssecurity.callbackhandler.LTPAConsumeCallbackHandler |
| LTPAToken/LTPAPropagationToken | Generator | com.ibm.websphere.wssecurity.callbackhandler.LTPAGenerateCallbackHandler |
| SecureConversationToken | Konsument | com.ibm.ws.wssecurity.impl.auth.callback.SCTConsumeCallbackHandler |
| SecureConversationToken | Generator | com.ibm.ws.wssecurity.impl.auth.callback.WSTrustCallbackHandler |
Diese Schaltfläche und die Option Integrierten Klassennamen verwenden schließen sich gegenseitig aus.
Die Felder im Abschnitt "Zertifikate" sind verfügbar, wenn Sie ein Token für Zugriffsschutz konfigurieren. Für ein Generatortoken können Sie in der Liste einen Zertifikatsspeicher durch Anklicken auswählen oder auf die Schaltfläche Neu klicken, um einen Zertifikatsspeicher hinzuzufügen.
Die Felder im Abschnitt "Zertifikate" sind verfügbar, wenn Sie ein Token für Zugriffsschutz konfigurieren. Für ein Konsumententoken können Sie die Option "Jedes Zertifikat anerkennen" oder die Option "Zertifikatsspeicher" verwenden, um den Zertifikatsspeicher zu konfigurieren.
Diese Option gilt nur für den Tokenkonsumenten. Diese Option zeigt an, dass das System alle Zertifikate anerkennt. Es wird kein spezieller Zertifikatsspeicher definiert. Diese Option und die Option Zertifikatsspeicher schließen sich gegenseitig aus.
Diese Option gilt nur für den Tokenkonsumenten. Verwenden Sie diese Option, um eine Zertifikatsspeichersammlung mit Zwischenzertifikaten anzugeben, zu denen Zertifikatswiderruflisten gehören. Wählen Sie diese Option aus, wenn die im Eingabefeld angegebenen Zertifikatsspeicher anerkannt werden sollen. Diese Option und die Option Jedes Zertifikat anerkennen schließen sich gegenseitig aus. Wenn Sie die Option Zertifikatsspeicher auswählen, ist die Schaltfläche Neu aktiviert, damit Sie einen neuen Zertifikatsspeicher und einen Trust-Anchor-Speicher konfigurieren können.
Sie können den Wert für das Zertifikatsspeicherfeld auf den Standardwert (Ohne) setzen. Der Wert für den Trust-Anchor-Speicher muss auf einen bestimmten Wert gesetzt werden. Es gibt keinen Standardwert. Der Trust-Anchor ist erforderlich, wenn die Option "Jedes Zertifikat anerkennen" nicht ausgewählt ist.
Die Felder im Abschnitt "Basisauthentifizierung" sind verfügbar, wenn Sie ein Authentifizierungstoken konfigurieren, das kein LTPA-Weitergabetoken ist.
Für den angepassten Kerberos-Tokentyp müssen Sie den Abschnitt "Basisauthentifizierung" für die Kerberos-Anmeldung ausfüllen.
Gibt den zu authentifizierenden Benutzernamen an.
Gibt das zu authentifizierende Kennwort an. Geben Sie in diesem Eingabefeld das zu authentifizierende Kennwort ein.
Gibt das Kennwort an, das Sie bestätigen möchten.
Die Keystorefelder sind nicht verfügbar, wenn die Laufzeitumgebung feststellt, dass diese Felder nicht erforderlich sind.
Sie können in der Liste "Keystore-Name" auf Angepasst klicken, um einen angepassten Keystore zu definieren, auf einen der extern definierten Keystore-Namen oder auf Ohne klicken, wenn kein Keystore erforderlich ist.
Gibt den Namen des Keystores an, den Sie verwenden möchten.
Gibt die Attribute des Schlüssels an, der aus dem konfigurierten Keystore abrufen werden soll. Einige Felder im Abschnitt "Schlüssel" sind nicht verfügbar, wenn die Laufzeitumgebung bestimmt, dass diese Felder nicht erforderlich sind.
Wenn ein zentral verwalteter Keystore als Keystore ausgewählt wird, sind die Felder im Abschnitt "Schlüssel" verfügbar.
Gibt den Namen des zu verwendenden Schlüssels an. Die Liste wird mit den Schlüsseln gefüllt, die im ausgewählten zentral verwalteten Keystore verfügbar sind. Wählen Sie den Namen des Schlüssels aus, den Sie verwenden möchten, oder wählen Sie '(ohne)' aus, wenn kein Schlüssel verwendet werden soll.
Zeigt den Alias des ausgewählten Schlüsselnamens an.
Gibt das für den Schlüssel zu verwendende Kennwort an. Dieses Feld ist nur verfügbar, wenn die Laufzeit feststellt, dass ein Kennwort erforderlich ist.
Für öffentliche Schlüssel für asymmetrische Verschlüsselungsgeneratoren und asymmetrische Signaturkonsumenten kann kein Kennwort definiert werden. Lesen Sie die Informationen zur Vermeidung von Problemen am Anfang des Artikels.
Bestätigt das für den Schlüssel zu verwendende Kennwort. Dieses Feld ist nur verfügbar, wenn die Laufzeit feststellt, dass ein Kennwort erforderlich ist.
Für die öffentlichen Schlüssel für asymmetrische Verschlüsselung (abgehend) und Signatur (eingehend) ist keine Kennwortbestätigung erforderlich.
Gibt einen Link zum Erstellen eines angepassten Keystores an. Klicken Sie auf diesen Link, um eine Anzeige zu öffnen, in der Sie einen angepassten Keystore konfigurieren können.
Gibt das Kennwort für den Zugriff auf die Keystore-Datei an.
Gibt die Position der Keystore-Datei an.
Verwenden Sie im Pfadnamen ${USER_INSTALL_ROOT}. Diese Variable wird durch den Produktpfad auf Ihrer Maschine ersetzt. Wenn Sie den von dieser Variablen verwendeten Pfad ändern möchten, klicken Sie auf Umgebung > WebSphere-Variablen und anschließend auf USER_INSTALL_ROOT.
Gibt den Typ des Keystore-Dateiformats an.
JCERACFKSDie Felder im Abschnitt "Angepasste Eigenschaften" sind für alle Tokenkonfigurationstypen verfügbar.
Hier können Sie die vom Callback-Handler benötigten angepassten Eigenschaften in Form von Name/Wert-Paaren eingeben.
Wenn Sie bei der Verwendung des Programmiermodells JAX-WS die Verschlüsselung des Unterzeichnerzertifikats implementieren möchten, fügen Sie die angepasste Eigenschaft com.ibm.wsspi.wssecurity.token.cert.useRequestorCert mit dem Wert true im Callback-Handler des Verschlüsselungstokengenerator hinzu. Diese Implementierung verwendet das Zertifikat des Unterzeichners der SOAP-Anforderung, um die SOAP-Antwort zu verschlüsseln. Diese angepasste Eigenschaft wird vom Antwortgenerator verwendet.
Für ein angepasstes Kerberos-Token, das auf OASIS Web Services Security Specification for Kerberos Token Profile V1.1 basiert, geben Sie die folgende Eigenschaft für die Tokengenerierung an: com.ibm.wsspi.wssecurity.krbtoken.clientRealm. Diese Eigenschaft gibt den Namen des Kerberos-Realms an, der dem Client zugeordnet ist, und ermöglicht dem Kerberos-Clientrealm, die Kerberos-Anmeldung einzuleiten. Wenn Sie diese Eigenschaft nicht angeben, wird der Kerberos-Standardrealmname verwendet. Diese Eigenschaft ist für eine einzelne Kerberos-Realmumgebung optional.
Die angepasste Kerberos-Eigenschaft com.ibm.wsspi.wssecurity.krbtoken.loginPrompt ermöglicht die Kerberos-Anmeldung, wenn sie auf true gesetzt ist. Der Standardwert ist false. Diese Eigenschaft ist optional.
| Eigenschaftsname (Generator) | Eigenschaftswert |
|---|---|
| com.ibm.wsspi.wssecurity.token.username.addNonce | true |
| com.ibm.wsspi.wssecurity.token.username.addTimestamp | true |
| Eigenschaftsname (Konsument) | Eigenschaftswert |
|---|---|
| com.ibm.wsspi.wssecurity.token.username.verifyNonce | true |
| com.ibm.wsspi.wssecurity.token.username.verifyTimestamp | true |
Gibt den Namen der zu verwendenden angepassten Eigenschaft an.
Zunächst werden keine angepassten Eigenschaften in dieser Spalte angezeigt. Klicken Sie auf eine der folgenden Aktionen für angepasste Eigenschaften:
| Schaltfläche | Aktion |
|---|---|
| Neu | Erstellt einen neuen angepassten Eigenschaftseintrag. Zum Hinzufügen einer angepassten Eigenschaft geben Sie den Namen und den Wert ein. |
| Löschen | Entfernt die ausgewählte angepasste Eigenschaft. |
Gibt den Wert der zu verwendenden angepassten Eigenschaft an. Über das Eingabefeld Wert können Sie den Wert für eine angepasste Eigenschaft eingeben oder löschen.