Authentifizierungsmethode "Signature"
Bei der Authentifizierung durch Signatur wird ein X.509-Zertifikat vom Client an den Server gesendet. Das Zertifikat wird für die Authentifizierung bei der auf dem Server konfigurierten Benutzerregistry verwendet. Wenn Sie die Authentifizierungsmethode "Signature" verwenden, wird das Sicherheitstoken mit einem Element "ds:Signature" und einem Element "wsse:BinarySecurityToken" generiert.
- Generierung des Signature-Token
- Der Anforderungssender generiert ein Signature-Sicherheitstoken mit einem so genannten Callback-Handler. Das vom Callback-Handler zurückgegebene Sicherheitstoken wird in die SOAP-Nachricht eingefügt. Der verwendete
Callback-Handler ist im Element <LoginBinding> der Bindungsdatei ibm-webservicesclient-bnd.xmi angegeben. WebSphere Application
Server stellt die folgende Callback-Handler-Implementierung bereit, die für die Authentifizierungsmethode
"Signature" verwendet werden kann: "com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler".
Sie können eigene Callback-Handler hinzufügen, die "javax.security.auth.callback.CallbackHandler" implementieren.
- Validierung des Sicherheitstokens
- Der Anforderungsempfänger ruft das Signature-Sicherheitstoken aus der
SOAP-Nachricht (Simple
Object Access Protocol) ab und validiert es mit einem JAAS-Anmeldemodul.
Für die Validierung werden die Elemente <ds:Signature> und <wsse:BinarySecurityToken>
im Sicherheitstoken verwendet. Bei erfolgreicher Validierung gibt das Anmeldemodul ein JAAS-Subject zurück. Dieses Subject wird dann als Identität des Ausführungsthreads verwendet.
Falls die Validierung fehlschlägt, wird die Anforderung mit einer SOAP-Fehlerausnahme
(Fault) zurückgewiesen.
Die JAAS-Anmeldekonfiguration ist im Element <LoginMapping> der Bindungsdatei angegeben. Standardbindungen werden in der Datei ws-security.xml angegeben. Sie können diese Bindungen jedoch mit der anwendungsspezifischen Datei ibm-webservices-bnd.xmi überschreiben. Die Konfigurationsdaten enthalten die Elemente "CallbackHandlerFactory" (Factory für Callback-Handler) und "ConfigName" (Konfigurationsname). Das Element "CallbackHandlerFactory" gibt den Namen der Klasse an, die zum Erstellen des JAAS-Objekts "CallbackHandler" verwendet wird. WebSphere Application Server stellt die CallbackHandlerFactory-Implementierung "com.ibm.wsspi.wssecurity.auth.callback.WSCallbackHandlerFactoryImp" bereit. Das Element "ConfigName" gibt einen JAAS-Konfigurationsnamen an. WebSphere Application Server durchsucht die Datei security.xml nach einem Eintrag mit diesem Konfigurationsnamen. Sollte keine Übereinstimmung gefunden werden, wird die Datei wsjaas.conf durchsucht. WebSphere Application Server stellt den Standardkonfigurationseintrag "system.wssecurity.Signature" zur Verfügung, der für die Authentifizierungsmethode "Signature" geeignet ist.