Entschlüsselung zum Schutz der Nachrichtenvertraulichkeit mit den WSS-Anwendungsprogrammierschnittstellen konfigurieren

Sie können Entschlüsselungsdaten für den Abschnitt mit dem Antwortkonsumenten (Clientseite) in der Bindungsdatei konfigurieren. Mit Verschlüsselungsdaten wird angegeben, wie die Konsumenten (Empfänger) eingehende SOAP-Nachrichten entschlüsseln. Zum Konfigurieren der Entschlüsselung geben Sie die Nachrichtenabschnitte, die entschlüsselt werden sollen, und die Algorithmusmethoden und Sicherheitstoken an, die für die Entschlüsselung verwendet werden sollen.

Vorbereitende Schritte

Vertraulichkeit bezieht sich auf Verschlüsselung, wohingegen sich Integrität auf digitale Signatur bezieht. Die Vertraulichkeit verringert das Risiko, dass jemand die Nachricht während des Transports durch das Internet verstehen kann. Wenn Angaben zur Vertraulichkeit gemacht wurden, wird die Nachricht vor dem Senden verschlüsselt und erst nach dem fehlerfreien Empfang am Ziel entschlüsselt. Machen Sie sich vor dem Konfigurieren der Entschlüsselung mit der XML-Verschlüsselung vertraut.

Informationen zu diesem Vorgang

Für die Entschlüsselung müssen Sie Folgendes angeben:

  • zu entschlüsselnde Abschnitte der Nachricht,
  • anzugebende Entschlüsselungsalgorithmen.

Verwenden Sie zum Konfigurieren der Entschlüsselung und der entschlüsselten Abschnitte auf der Clientseite die Anwendungsprogrammierschnittstellen "WSSDecryption" und "WSSDecryptPart", oder konfigurieren Sie über die Administrationskonsole Richtliniensätze.

WebSphere Application Server stellt Standardwerte für Bindungen bereit. Diese Standardwerte müssen jedoch vom Systemadministrator für die Produktionsumgebung geändert werden.

WebSphere Application Server verwendet Entschlüsselungsdaten für den Standardkonsumenten, um Abschnitte der SOAP-Nachricht zu entschlüsseln. Die Anwendungsprogrammierschnittstelle "WSSDecryption" konfiguriert die folgenden erforderlichen Abschnitte als entschlüsselte Abschnitte.

Tabelle 1. Erforderliche entschlüsselte Abschnitte. Verwenden Sie die Entschlüsselungsdaten, um festzulegen, wie eingehende Nachrichten entschlüsselt werden sollen.
Entschlüsselungsabschnitte Beschreibung
Schlüsselwörter Es werden Schlüsselwörter verwendet, um die entschlüsselten Abschnitte zur SOAP-Nachricht hinzuzufügen.
XPath-Ausdruck Es wird ein XPath-Ausdruck verwendet, um die entschlüsselten Abschnitte zur SOAP-Nachricht hinzuzufügen.
Objekt WSSDencryptPart Dieses Objekt fügt die entschlüsselten Abschnitte zur SOAP-Nachricht hinzu.
Objekt WSSVerification Dieses Objekt fügt die Signaturprüfkomponente als entschlüsselten Abschnitt hinzu.
Header Dieser Abschnitt fügt den mit dem QName angegebenen Header im SOAP-Header als entschlüsselten Abschnitt hinzu.
Sicherheitstokenobjekt Dieses Objekt fügt das Sicherheitstoken als entschlüsselten Abschnitt hinzu.

Die API von Web Services Security (WSS-API) unterstützt symmetrische Verschlüsselung über die Verwendung eines gemeinsam genutzten Schlüssels nur, wenn Web Services Secure Conversation (WS-SecureConversation) verwendet wird.

Die WSS-Anwendungsprogrammierschnittstellen lassen die Verwendung von Schlüsselwörtern und XPath-Ausdrücken für die Angabe der zu entschlüsselnden SOAP-Nachrichtenabschnitte zu. WebSphere Application Server unterstützt die Verwendung der folgenden Schlüsselwörter:

Tabelle 2. Unterstützte Schlüsselwörter für Entschlüsselung. Verwenden Sie Schlüsselwörter, um eingehende Nachrichten zu entschlüsseln.
Schlüsselwort Referenzen
BODY_CONTENT Das Schlüsselwort für den Inhalt des SOAP-Nachrichtenhauptteils als Entschlüsselungsziel.
SIGNATURE Das Schlüsselwort für das Signaturelement als Entschlüsselungsziel.
USERNAME_TOKEN, Das Schlüsselwort für das Benutzernamenstokenelement als Entschlüsselungsziel.

Wenn Sie die Konfiguration mit den WSS-Anwendungsprogrammierschnittstellen durchführen, führen die Anwendungsprogrammierschnittstellen "WSSDecryption" und "WSSDecryptPart" die folgenden übergeordneten Schritte aus:

Vorgehensweise

  1. Verwenden Sie die Anwendungsprogrammierschnittstelle "WSSDecryption", um die Verschlüsselung zu konfigurieren. Die Anwendungsprogrammierschnittstelle "WSSEncryption" führt standardmäßig die folgenden Tasks aus:
    1. Sie generiert den Callback-Handler.
    2. Sie generiert das Sicherheitstokenobjekt für den Konsumenten.
    3. Sie fügt den Typ der Sicherheitstokenreferenz hinzu.
    4. Sie fügt das WSSEncryptPart-Objekt hinzu.
    5. Sie fügt die zu verschlüsselnden Abschnitte hinzu. Die Anwendungsprogrammierschnittstelle fügt die Standardabschnitte für die Entschlüsselung über Schlüsselwörter und XPath-Ausdrücke hinzu.
    6. Sie fügt die Prüfkomponente hinzu.
    7. Sie fügt die mit dem QName angegebenen Header in der SOAP-Nachricht hinzu.
    8. Sie legt die Standardmethode für die Datenverschlüsselung fest.
    9. Sie gibt über einen Booleschen Wert an, ob der Schlüssel entschlüsselt werden soll. Diese Methode wird aufgerufen, wenn der gemeinsam genutzte Schlüssel verschlüsselt ist.
    10. Sie legt die Standardmethode für die Schlüsselchiffrierung fest.
  2. Verwenden Sie die Anwendungsprogrammierschnittstelle "WSSEncryptPart", um verschlüsselte Abschnitte zu konfigurieren oder eine Umsetzungsmethode hinzuzufügen. Die Anwendungsprogrammierschnittstelle "WSSEncryptPart" führt standardmäßig die folgenden Tasks aus:
    1. Sie legt die über Schlüsselwörter oder XPath-Ausdrücke angegebenen verschlüsselten Abschnitte fest.
    2. Sie legt die über einen XPath-Ausdruck angegebenen verschlüsselten Abschnitte fest.
    3. Sie legt das Objekt für die Signaturkomponente, WSSSignature, fest.
    4. Sie legt die mit dem QName angegebenen Header in der SOAP-Nachricht fest.
    5. Sie legt das Sicherheitstoken für den Generator fest.
    6. Sie fügt bei Bedarf die Umsetzungsmethode hinzu.
  3. Ändern Sie bei Bedarf die Standardwerte für Algorithmus oder Nachrichtenabschnitte. Sie könnten beispielsweise Folgendes ändern:
    • Sie können USERNAME_TOKEN als Entschlüsselungsziel hinzufügen.
    • Sie können den Standardalgorithmus für Datenverschlüsselung AES 128 ändern.
    • Sie können den Standardalgorithmus für Schlüsselchiffrierung KW_RSA_OAEP ändern.
    • Sie können angeben, dass der Chiffrierschlüssel nicht verschlüsselt werden soll (false).
    • Sie können den Standardsicherheitstokentyp X.509 ändern.
    • Sie können angeben, dass nur BODY_CONTENT als Verschlüsselungsabschnitt verwendet wird, und nicht wie bei der Standardeinstellung auch SIGNATURE.

Ergebnisse

Die Entschlüsselungsdaten für die Konsumentenbindung sind konfiguriert.

Beispiel

Im Folgenden sehen Sie ein Beispiel für die Anwendungsprogrammierschnittstelle "WSSDecryption":
WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
    X509ConsumeCallbackHandler callbackhandler = generateCallbackHandler(); 
// siehe X509ConsumeCallbackHandler
    WSSDecryption dec = factory.newWSSDecryption(X509Token.class, 
        callbackhandler);
    
 concont.add(dec);

Nächste Schritte

Sie müssen ähnliche Verschlüsselungsdaten für die clientseitigen Anforderungsgeneratorbindungen (Sender) konfigurieren, falls diese Daten noch nicht konfiguriert wurden.

Sehen Sie sich als Nächstes den Prozess der Anwendungsprogrammierschnittstelle "WSSDecryption" an.


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_configencryptinfoconjaxws
Dateiname:twbs_configencryptinfoconjaxws.html