Entschlüsselungsmethoden

Die Entschlüsselungsalgorithmen geben die Algorithmen für die Schlüssel- und Datenverschlüsselung an, die zum Entschlüsseln der SOAP-Nachricht verwendet werden. Die WSS-API für Entschlüsselung (WSSDecryption) gibt den Algorithmus-URI (Uniform Resource Identifier) der Schlüssel- und Datenverschlüsselungsmethoden an. Die Schnittstelle "WSSDecryption" gehört zum Paket com.ibm.websphere.wssecurity.wssapi.decryption.

Datenverschlüsselungsalgorithmen

Die Datenverschlüsselungsalgorithmen sind Algorithmen, die zum Ver- und Entschlüsseln von Daten verwendet werden. Dieser Algorithmustyp wird für die Verschlüsselung von Daten verwendet, um verschiedene Abschnitte der Nachricht, einschließlich des Hauptteilinhalts und der Signatur, zu verschlüsseln und zu entschlüsseln.

Die Datenentschlüsselungsalgorithmen geben den Algorithmus-URI der Datenverschlüsselungsmethode an. WebSphere® Application Server unterstützt die folgenden vorkonfigurierten Datenentschlüsselungsalgorithmen:

Tabelle 1. Unterstützte vorkonfigurierte Datenentschlüsselungsalgorithmen . Die Algorithmen werden für die Entschlüsselung von SOAP-Nachrichten verwendet.
WSS-API URI
WSSDecryption.AES128 (Standardwert) URI des Datenverschlüsselungsalgorithmus AES 128: https://www.w3.org/2001/04/xmlenc#aes128-cbc
WSSDecryption.AES192 URI des Datenverschlüsselungsalgorithmus AES 192: https://www.w3.org/2001/04/xmlenc#aes192-cbc
WSSDecryption.AES256 URI des Datenverschlüsselungsalgorithmus AES 256: https://www.w3.org/2001/04/xmlenc#aes256-cbc
WSSDecryption.TRIPLE_DES URI des Datenverschlüsselungsalgorithmus TRIPLE DES: https://www.w3.org/2001/04/xmlenc#tripledes-cbc

Standardmäßig wird die Java™ Cryptography Extension (JCE) mit eingeschränkten oder stark begrenzten Chiffren ausgeliefert. Wenn Sie die 192-Bit- und 256-Bit-AES-Verschlüsselungsalgorithmen (Advanced Encryption Standard) verwenden möchten, müssen Sie uneingeschränkte Standortrichtliniendateien anwenden.

Wichtig: In Ihrem Herkunftsland gelten möglicherweise Beschränkungen für den Import, Besitz, die Verwendung oder den Reexport von Verschlüsselungssoftware in ein anderes Land. Bevor Sie die uneingeschränkten Richtliniendateien herunterladen oder verwenden, müssen Sie die Gesetze und Richtlinien Ihres Landes in Bezug auf den Import, den Besitz und den Reexport von Verschlüsselungssoftware prüfen, um festzustellen, ob dies zulässig ist.

Für die AES256-cbc und das AES192-cbc Algorithmen müssen Sie die uneingeschränkten Java™ Cryptography Extension (JCE)-Richtliniendateien von der folgenden Website herunterladen: https://www.ibm.com/developerworks/java/jdk/security/index.html.

Der Datenverschlüsselungsalgorithmus muss dem Datenentschlüsselungsalgorithmus entsprechen, der für den Konsumenten konfiguriert ist.

Algorithmen für Schlüsselchiffrierung

Die Schlüsselchiffrieralgorithmen sind Algorithmen, die zum Ver- und Entschlüsseln von Schlüsseln verwendet werden.

Mit diesen Schlüsseldaten wird die Konfiguration definiert, die für die Generierung des Schlüssels für die digitale Signatur und Verschlüsselung benötigt wird. Die Konfigurationen für Signaturdaten und Verschlüsselungsdaten können die Schlüsseldaten gemeinsam nutzen. Auf der Konsumentenseite enthalten die Schlüsseldaten die Informationen zum Schlüssel, die für die Validierung der digitalen Signatur in der empfangenen Nachricht bzw. für die Entschlüsselung der verschlüsselten Nachrichtenabschnitte benötigt werden. Für den Client wird der Anforderungsgenerator konfiguriert.

Die Schlüsselchiffrieralgorithmen geben den Algorithmus-URI der Schlüsselchiffriermethode an. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Schlüsselverschlüsselungsalgorithmen:

Tabelle 2. Unterstützte vorkonfigurierte Schlüsselverschlüsselungsalgorithmen . Die Algorithmen werden für die Entschlüsselung von SOAP-Nachrichten verwendet.
WSS-API URI
WSSDecryption.KW_AES128 URI des Schlüsselchiffrieralgorithmus "key wrap AES 128": https://www.w3.org/2001/04/xmlenc#kw-aes128
WSSDecryption.KW_AES192 URI des Schlüsselchiffrieralgorithmus "key wrap AES 192": https://www.w3.org/2001/04/xmlenc#kw-aes192
Beschränkung: Verwenden Sie nicht den 192-Bit-Schlüsselverschlüsselungsalgorithmus, wenn Ihre konfigurierte Anwendung dem Basic Security Profile (BSP) entsprechen soll.
WSSDecryption.KW_AES256 URI des Schlüsselchiffrieralgorithmus "key wrap AES 256": https://www.w3.org/2001/04/xmlenc#kw-aes256
WSSDecryption.KW_RSA_OAEP (Standardwert) URI des Schlüsselchiffrieralgorithmus "key wrap RSA OAEP": https://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
WSSDecryption.KW_RSA15 URI des Schlüsselchiffrieralgorithmus "key wrap RSA 1.5": https://www.w3.org/2001/04/xmlenc#rsa-1_5
WSSDecryption.KW_TRIPLE_DES URI des Datenverschlüsselungsalgorithmus TRIPLE DES mit Key-Wrapping: https://www.w3.org/2001/04/xmlenc#kw-tripledes

Standardmäßig verwendet der Algorithmus RSA-OAEP den Message-Digest-Algorithmus SHA1, um einen Message-Digest im Rahmen der Verschlüsselungsoperation zu berechnen. Optional können Sie den Message-Digest-Algorithmus SHA256 oder SHA512 verwenden, indem Sie eine Eigenschaft für den Verschlüsselungsalgorithmus für Schlüssel angeben. Der Eigenschaftsname ist com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod. Als Eigenschaftswert können Sie einen der folgenden URIs der Digest-Methode angeben: https://www.w3.org/2001/04/xmlenc#sha256 https://www.w3.org/2001/04/xmlenc#sha512.

Standardmäßig verwendet der Algorithmus RSA-OAEP eine Nullzeichenfolge für die optionale Verschlüsselungsoktettzeichenfolge für die OAEPParams. Sie können eine explizite Verschlüsselungsoktettzeichenfolge angeben, indem Sie eine Eigenschaft für den Verschlüsselungsalgorithmus für Schlüssel angeben. Als Eigenschaftsnamen können Sie com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams angeben. Der Eigenschaftswert ist der Base-64-verschlüsselte Wert der Oktettzeichenfolge.

Wichtig: Sie können diese Digest-Methode und die OAEPParams-Eigenschaften nur auf der Generatorseite festlegen. Auf der Konsumentenseite werden diese Eigenschaften aus der eingehenden SOAP-Nachricht (Simple Object Access Protocol) gelesen.

Für die kw-aes256 und das kw-aes192 Um Schlüsselverschlüsselungsalgorithmen zu verwenden, müssen Sie die uneingeschränkten JCE-Richtliniendateien von der folgenden Website herunterladen: https://www.ibm.com/developerworks/java/jdk/security/index.html.

Die Algorithmen für die Schlüsselchiffrierung für den Generator und den Konsumenten müssen übereinstimmen.

Das folgende Beispiel zeigt ein Beispiel des WSS-API-Codes für die Standardalgorithmen, die verwendet werden für WebSphere Application Server Entschlüsselung:

WSSFactory factory = WSSFactory.getInstance(); 
WSSConsumingContext concont = factory.newWSSConsumingContext(); 

// Required to attach username token into the message. 
X509ConsumeCallbackHandler callbackHandler = 
       new X509ConsumeCallbackHandler("", 
                                      "enc-sender.jceks", 
                                      "JCEKS", 
                                      "storepass".toCharArray(), 
                                      "alice", 
                                      "keypass".toCharArray(), 
                                      "CN=Alice, O=IBM, C=US"); 
// Set the decrypt component. 
// Default encrypted part: Body-Content 
// Default data encryption algorithm: AES128 
// Default key encryption algorithm: KW-RSA-OAEP 
WSSDecryption dec = factory.newWSSDecryption(X509Token.Type, 
callbackHandler); 
concont.add(dec); 

// validate the WS-Security header. 
concont.process(msgctx);