Signaturdaten für die Konsumentenbindung mit den WSS-APIs prüfen

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

  1. 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.
  2. Die Anwendungsprogrammierschnittstelle "WSSVerification" fügt der SOAP-Nachricht den erforderlichen Header hinzu. Der mit dem QName angegebene Header ist ein erforderlicher Prüfheader.
  3. 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.
  4. 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.

  5. 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:

  6. 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.

  7. 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
  8. 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.


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_configsigninfoconjaxws
Dateiname:twbs_configsigninfoconjaxws.html