Sie können die Signaturdaten für die clientseitigen Antwortkonsumentenbindungen (Empfänger) konfigurieren.
Signaturdaten werden verwendet, um Abschnitte einer Nachricht, wie z. B.
den SOAP-Hauptteil, die Zeitmarkeninformationen oder das Benutzernamenstoken, zu signieren und zu validieren.
Vorbereitende Schritte
WebSphere
Application Server verwendet die digitale XML-Signatur mit vorhandenen Algorithmen, wie z. B. RSA, HMAC und SHA1. Die XML-Signatur definiert viele Methoden zur Beschreibung von
Schlüsselinformationen und ermöglicht die Definition einer neuen Methode. Bevor Sie diese Schritte ausführen, sollten
Sie die Informationen über digitale XML-Signaturen lesen, um sich mit der Signatur und der Überprüfung digitaler Signaturen
für digitalen Inhalt vertraut zu machen.
Durch die Einbindung einer XML-Signatur in SOAP-Nachrichten wird Folgendes erreicht: Nachrichtenintegrität und Nachrichtenvertraulichkeit.
Integrität
bezieht sich auf die digitale Signatur, wohingegen sich Vertraulichkeit auf die Verschlüsselung bezieht. Integrität
verringert das Risiko der Datenmanipulation, während die Daten im Internet übertragen werden.
Damit Sie
die Signatur und die signierten Abschnitte einer SOAP-Nachricht prüfen können, müssen Sie die folgenden Tasks ausgeführt haben:
- Signatur konfigurieren.
- Bei Bedarf signierte Abschnitte hinzufügen.
- Methoden für Signatur und signierte Abschnitte auswählen.
Informationen zu diesem Vorgang
Verwenden Sie die APIs von Web Services Security (WSS-Anwendungsprogrammierschnittstelle), um die Signaturprüfdaten für den Antwortkonsumentenabschnitt
(Clientseite) der Bindungsdatei zu konfigurieren.
Verwenden Sie die Anwendungsprogrammierschnittstelle "WSSVerification" oder "WSSVerifyPart", um den Client für die Prüfung der Anforderungssignatur zu konfigurieren und anzugeben, welche digital signierten
Nachrichtenabschnitte geprüft werden sollen.
WebSphere Application
Server verwendet die Signaturdaten auf der Konsumentenseite, um die Integrität der empfangenen SOAP-Nachrichten (Simple Object Access Protocol)
durch Validierung der signierten Nachrichtenabschnitte
(z. B. Hauptteil, Zeitmarke und Benutzernamenstoken) zu überprüfen.
Verwenden Sie auf der Clientseite die WSS-APIs, oder konfigurieren Sie über die Administrationskonsole Richtliniensätze, um
die Abschnitte der Nachricht anzugeben, die signiert werden sollen, und um die Schlüsseldaten
zu konfigurieren, die von Schlüsseldatenreferenzen referenziert werden.
Wenn Sie die APIs WSSVerification und WSSVerifyPart, um Signatur und signierte Abschnitte zu prüfen.
WebSphere Application Server stellt Standardwerte für Bindungen bereit.
Diese Standardwerte müssen jedoch
vom Systemadministrator für die Produktionsumgebung geändert werden.
Die APIs WSSVerification
und WSSVerifyPart führen die folgenden Schritte aus, um bei der Konfiguration des Clients für die Antwortkonsumentensignatur die digital signierten Nachrichtenabschnitte anzugeben,
die geprüft werden sollen:
Vorgehensweise
- Die Anwendungsprogrammierschnittstelle "WSSVerification" fügt die erforderlichen Prüfabschnitte der SOAP-Nachricht hinzu.
Diese Referenz verweist auf den Nachrichtenabschnitt, der digital signiert wird.
Das Attribut "part" verweist auf den Namen des Elements <Integrity>, wenn das Element
<PartReference> für die Signatur angegeben ist.
Sie können mehrere <PartReference>-Elemente im Element <SigningInfo>
angeben. Das Element <PartReference> hat zwei untergeordnete Elemente, wenn es für die Signatur
angegeben wird: <DigestTransform> und <Transform>.
Die Anwendungsprogrammierschnittstelle "WSSVerification" konfiguriert die folgenden Abschnitte als Prüfabschnitte:
Prüfabschnitt |
Beschreibung |
Sicherheitstoken |
Fügt Informationen für das Sicherheitstoken hinzu, das für die Signaturprüfung verwendet wird. |
SOAP-Header und QName als Ziel |
Fügt den mit dem QName angegebenen SOAP-Header als Prüfabschnitt hinzu. |
Die WSS-Anwendungsprogrammierschnittstellen lassen die Verwendung von Schlüsselwörtern und XPath-Ausdrücken für die Angabe der
zu prüfenden Nachrichtenabschnitte zu.
WebSphere Application Server
unterstützt die folgenden Schlüsselwörter:
Schlüsselwort |
Referenzen |
WSSVerification.ADDRESSING_HEADERS |
Die WS-Addressing-Header (Web Services Addressing). |
WSSVerification.BODY |
Der SOAP-Nachrichtenhauptteil. Der Abschnitt der Nachricht, der die Benutzerdaten enthält. |
WSSVerification.TIMESTAMP |
Die Informationen zur Erstellung und zum Verfall der Zeitmarke. |
- Die Anwendungsprogrammierschnittstelle "WSSVerification" fügt der SOAP-Nachricht den erforderlichen Header hinzu. Der mit dem QName angegebene Header ist ein erforderlicher Prüfheader.
- Die Anwendungsprogrammierschnittstelle "WSSVerification" fügt ein Sicherheitstoken hinzu. Sie fügt
Informationen zum Sicherheitstoken hinzu, das für die Signaturprüfung verwendet werden soll, z. B.
- die Klasse für das Sicherheitstoken,
- den Callback-Handler,
- den Namen der JAAS-Anmeldekonfiguration.
- Die Anwendungsprogrammierschnittstelle "WSSVerification" fügt den Algorithmus für die Signaturmethode hinzu. Die Signaturmethode ist der Algorithmus, der verwendet wird, um das kanonisierte Element
<SignedInfo> in der Bindungsdatei in das Element <SignatureValue> zu konvertieren.
Der Algorithmus, der für den Konsumenten angegeben wird (Antwortkonsumentenkonfiguration),
muss mit dem Algorithmus übereinstimmen, der für die Anforderungsgeneratorkonfiguration angegeben wurde.
WebSphere
Application Server unterstützt die folgenden vorkonfigurierten Signaturalgorithmen:
WebSphere Application
Server bietet keine Unterstützung für den folgenden Algorithmus für DSA-SHA1: http://www.w3.org/2000/09/xmldsig#dsa-sha1.
Der DSA-SHA1-Algorithmus kann nicht verwendet werden,
wenn eine Kompatibilität mit Basic Security Profile (BSP) erforderlich ist.
- Die Anwendungsprogrammierschnittstelle "WSSVerification" fügt eine Kanonisierungsmethode hinzu. Der Algorithmus für die Kanonisierungsmethode
wird verwendet, um das Element <SignedInfo>
zu kanonisieren, bevor es im Rahmen der digitalen Signaturoperation integriert wird.
Der Kanonisierungsalgorithmus, den Sie für den Generator auswählen, muss mit dem Algorithmus für den Konsumenten übereinstimmen.
WebSphere
Application Server unterstützt die folgenden vorkonfigurierten Kanonisierungsalgorithmen:
- Die Anwendungsprogrammierschnittstelle "WSSVerification" prüft, ob eine Signaturbestätigung erforderlich ist. Die OASIS-Spezifikation "Web Services Security (WS-Security) Version
1.1" definiert die Verwendung der Signaturbestätigung. Wenn Sie WS-Security Version 1.0 verwenden, ist diese Funktion
nicht verfügbar.
Der Wert für die Signaturbestätigung wird gespeichert, um damit die Signaturbestätigung zu prüfen, wenn die Empfangsnachricht zurückgegeben wird.
Diese Methode wird aufgerufen, wenn erwartet wird, dass in der Antwortnachricht eine Signaturbestätigung
an die SOAP-Nachricht angefügt wird.
- Die Anwendungsprogrammierschnittstelle "WSSVerifyPart" fügt eine Digest-Methode hinzu. Die Anwendungsprogrammierschnittstelle gibt für jede Abschnittsreferenz
in den Signaturdaten einen Algorithmus für die Digest-Methode und einen Umsetzungsalgorithmus an.
WebSphere Application Server unterstützt
die folgenden vorkonfigurierten Digest-Algorithmen:
- WSSVerifyPart.SHA1: http://www.w3.org/2000/09/xmldsig#sha1
- WSSVerifyPart.SHA256: http://www.w3.org/2001/04/xmlenc#sha256
- WSSVerifyPart.SHA512: http://www.w3.org/2001/04/xmlenc#sha512
- Die Anwendungsprogrammierschnittstelle "WSSVerifyPart" fügt eine Umsetzungsmethode hinzu. Die Anwendungsprogrammierschnittstelle gibt für jede Abschnittsreferenz
in den Signaturdaten einen Algorithmus für die Digest-Methode und einen Umsetzungsalgorithmus an.
WebSphere Application
Server unterstützt die folgenden vorkonfigurierten Umsetzungsalgorithmen:
- WSSVerifyPart.TRANSFORM_EXC_C14N (Standardwert): http://www.w3.org/2001/10/xml-exc-c14n#
- WSSVerifyPart.TRANSFORM_XPATH2_FILTER: http://www.w3.org/2002/06/xmldsig-filter2
- WSSVerifyPart.TRANSFORM_STRT10: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
- WSSVerifyPart.TRANSFORM_ENVELOPED_SIGNATURE: http://www.w3.org/2000/09/xmldsig#enveloped-signature
Für die WSS-Anwendungsprogrammierschnittstellen werden die folgenden Algorithmen von WebSphere Application Server nicht unterstützt:
- http://www.w3.org/2002/07/decrypt#XML
- http://www.w3.org/TR/1999/REC-xpath-19991116
Der Umsetzungsalgorithmus für den Konsumenten muss mit dem Umsetzungsalgorithmus für den Generator übereinstimmen.
Ergebnisse
Sie haben die
Schritte zum Konfigurieren der Signaturdaten für die clientseitigen Antwortkonsumentenabschnitte der Bindungsdateien ausgeführt.
Beispiel
Das folgende Beispiel enthält WSS-API-Beispielcode, mit dem die Signatur und der
X.509-Tokentyp als Sicherheitstoken geprüft werden:
WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
// X.509-Callback-Handler auf Konsumentenseite generieren
X509ConsumeCallbackHandler callbackhandler = generateCallbackHandler();
WSSVerification ver = factory.newWSSVerification(X509Token.class,
callbackhandler);
concont.add(ver);
Nächste Schritte
Geben Sie, sofern noch nicht konfiguriert, eine ähnliche Signaturdatenkonfiguration für die
Generatorbindungen an.
Konfigurieren Sie anschließend die Verschlüsselungs- und Entschlüsselungsdaten, oder konfigurieren Sie die Konsumenten- und
Generatortoken.