Verschlüsselte Abschnitte mit der Anwendungsprogrammierschnittstelle "WSSEncryptPart" hinzufügen

Sie können die SOAP-Nachrichten ohne Verwendung von Richtliniensätzen für die Konfiguration sichern, indem Sie die Anwendungsprogrammierschnittstellen (API, Application Programming Interface) von Web Services Security (WSS-API) verwenden. Zum Konfigurieren der verschlüsselten Abschnitte für die Anforderungsgeneratorbindungen (Clientseite) verwenden Sie die API "WSSEncryptPart", um Elemente zu definieren und der Liste von Elementen im verschlüsselten Abschnitt hinzuzufügen. WSSEncryptPart ist eine Schnittstelle, die zum Paket "com.ibm.websphere.wssecurity.wssapi.encryption" gehört.

Vorbereitende Schritte

Zum Aktivieren der verschlüsselten Abschnitte können Sie die WSS-APIs verwenden oder über die Administrationskonsole Richtliniensätze konfigurieren. Führen Sie zum Sichern von SOAP-Nachrichten mit den WSS-APIs die folgenden Verschlüsselungstasks aus:

  • Konfigurieren Sie mit der API "WSSEncryption" die Verschlüsselung, und wählen Sie die Verschlüsselungsmethoden aus.
  • Konfigurieren Sie die verschlüsselten Abschnitte bei Bedarf mit der API "WSSEncryptpart".

Informationen zu diesem Vorgang

Vertraulichkeitseinstellungen erfordern, dass Vertraulichkeitsbedingungen auf generierte Nachrichten angewendet werden. Zu diesen Bedingungen gehört auch anzugeben, welche Nachrichtenabschnitte in der generierten Nachricht verschlüsselt und welchen Nachrichtenabschnitten verschlüsselte Elemente zugeordnet werden sollen. Die Verschlüsselungsdaten auf der Generatorseite werden für die Verschlüsselung abgehender SOAP-Nachrichten verwendet. Für den Client wird der Anforderungsgenerator konfiguriert.

Die API "WSSEncryptPart" gibt Informationen an, die sich auf die verschlüsselten Abschnitte beziehen, und legt die verschlüsselten Abschnitte fest, die für den Schutz der Nachrichtenvertraulichkeit hinzugefügt wurden. Verwenden Sie WSSEncryptPart, um die Umsetzungsmethode und den Abschnitt anzugeben, auf den die Umsetzungsmethode angewendet werden soll. Definieren Sie die Umsetzungsmethode nur, wenn Sie SOAP with Attachments verwenden. WSSEncryptPart wird gewöhnlich nur in einigen Fällen für Tasks, wie z. B. das Festlegen der Umsetzungsmethode, benötigt.

Die in der folgenden Tabelle gezeigten verschlüsselten Abschnitte und die zugehörigen Informationen werden verwendet, um die Vertraulichkeit von Nachrichten zu schützen.

Tabelle 1. Verschlüsselte Abschnitte. Verwenden Sie verschlüsselte Abschnitte, um Nachrichten zu sichern.
Verschlüsselte Abschnitte Beschreibung
part Fügt das WSSEncryptPart-Objekt als Ziel des Verschlüsselungsabschnitts hinzu.
keyword

Fügt die verschlüsselten Abschnitte mit Schlüsselwörtern hinzu. Standardmäßig können Sie mit Schlüsselwörtern die Verschlüsselungsabschnitte BODY_CONTENT und SIGNATURE hinzufügen. WebSphere Application Server unterstützt die folgenden Schlüsselwörter:

  • BODY_CONTENT
  • SIGNATURE
xpath Fügt den verschlüsselten Abschnitt mit einem XPath-Ausdruck hinzu.
signature Fügt die WSSSignature-Komponente als Ziel des verschlüsselten Abschnitts hinzu.

WSSSignature ist nur gültig, wenn die SOAP-Nachricht ein Signaturelement enthält.

header Fügt den SOAP-Header nach QName als Ziel des Verschlüsselungsabschnitts hinzu.
securityToken Fügt das SecurityToken-Objekt als Ziel des verschlüsselten Abschnitts hinzu.

Bei verschlüsselten Abschnitten sind bestimmte Standardverhalten zu beobachten. Die API "WSSEncryptPart" lässt sich am einfachsten über den Einsatz des Standardverhaltens verwenden. Die API "WSSEncryptPart" stellt Standardwerte für die Spezifikation des Umsetzungsalgorithmus, das Definieren von Objekten als Zielen, das Angeben der verschlüsselten Abschnitte, wie z. B. den Inhalt des SOAP-Hauptteils und die Signatur, bereit.

Im Folgenden sind die Standardverhalten bei der Verschlüsselung beschrieben:

Tabelle 2. Entscheidungen bzgl. verschlüsselter Abschnitte. Verschiedene verschlüsselte Nachrichtenabschnitte werden standardmäßig konfiguriert.
Entscheidungen bzgl. verschlüsselter Abschnitte Standardverhalten
Mit Schlüsselwörtern zu verschlüsselnde SOAP-Nachrichtenabschnitte

Gibt an, welche Schlüsselwörter für die verschlüsselten Abschnitte verwendet werden sollen. WebSphere Application Server legt standardmäßig die folgenden SOAP-Nachrichtenabschnitte für Verschlüsselung fest:

  • WSSEncryption.BODY_CONTENT
  • WSSEncryption.SIGNATURE
Hinzuzufügende Umsetzungsmethode

WebSphere Application Server gibt standardmäßig keine Umsetzungsmethode an. Geben Sie nur dann eine Umsetzungsmethode an, wenn Sie SOAP with Attachments verwenden.

Vorgehensweise

  1. Zum Verschlüsseln der SOAP-Nachrichtenabschnitte mit der API "WSSEncryptPart" müssen Sie zuerst sicherstellen, dass der Anwendungsserver installiert ist.
  2. Der WSS-API-Prozess mit WSSEncryptPart teilt sich in die folgenden Schritte auf:
    1. Mit WSSFactory.getInstance() die Instanz der WSS-API-Implementierung abrufen.
    2. WSSGenerationContext-Instanz aus der WSSFactory-Instanz erstellen.
    3. SecurityToken aus WSSFactory erstellen, um die Verschlüsselung zu konfigurieren
    4. Mit SecurityToken die WSSEncryption aus der WSSFactory-Instanz erstellen.
    5. SecurityToken aus WSSFactory erstellen.
    6. Zu verschlüsselnden und anzuwendenden Abschnitte mit der Umsetzung in WSSEncryptPart hinzufügen. WebSphere Application Server legt diese verschlüsselten Abschnitte standardmäßig für WSSEncryptPart fest: BODY_CONTENT und SIGNATURE. Nach dem Hinzufügen weiterer verschlüsselter Abschnitte sind die Standardwerte nicht mehr gültig. Wenn Sie beispielsweise addEncryptPart(securityToken, false) aufrufen, wird nur das Sicherheitstoken verschlüsselt. Signatur und Inhalt des Hauptteils werden nicht verschlüsselt. Wenn Sie das Sicherheitstoken, die Signatur und den Inhalt des Hauptteils verschlüsseln möchten, müssen Sie addEncryptPart(securityToken, false), addEncryptPart(WSSEncryption.SIGNATURE), and addEncryptPart(WSSEncrypyion.BODY_CONTENT) aufrufen.
    7. Umsetzungsmethode festlegen.
    8. WSSEncryptPart zu WSSEncryption hinzufügen.
    9. WSSEncryption zu WSSGenerationContext hinzufügen.
    10. WSSGenerationContext.process() mit dem SOAPMessageContext aufrufen.

Ergebnisse

Wenn beim Verschlüsseln der Nachrichtenabschnitte eine Fehlerbedingung eintritt, wird eine Ausnahme vom Typ WSSException ausgelöst. Bei erfolgreicher Ausführung wird WSSGenerationContext.process() von der API aufgerufen, der WS-Security-Header generiert und die SOAP-Nachricht damit über Web Services Security gesichert.

Nächste Schritte

Nachdem Sie die verschlüsselten Abschnitte für die Anforderungsgeneratorbindung (Clientseite) aktiviert haben, müssen Sie angeben, dass dieselben Abschnitte für die Antwortkonsumentenbindungen (Clientseite) entschlüsselt werden sollen. Verwenden Sie anschließend zum Konfigurieren der Entschlüsselung und der Entschlüsselungsabschnitte die WSS-APIs, oder konfigurieren Sie Richtliniensätze über die Administrationskonsole.


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_confwssencryptsecretkey
Dateiname:twbs_confwssencryptsecretkey.html