Verschlüsselungsmethoden für Generatorbindungen
Wenn Sie den Client für die Anforderungsverschlüsselung für die Generatorbindung konfigurieren möchten, müssen Sie die Verschlüsselungsmethoden angeben, die verwendet werden sollen, wenn der Client die SOAP-Nachrichten verschlüsselt.
Vorbereitungen
Bevor Sie diese Schritte ausführen, sollten Sie die Informationen zur XML-Verschlüsselung lesen, um sich mit dem Verschlüsseln und Entschlüsseln von SOAP-Nachrichten vertraut zu machen.
- Verwenden Sie die API WSSEncryption, um den Datenverschlüsselungsalgorithmus und die Algorithmusmethoden für Schlüsselchiffrierung zu konfigurieren.
- Verwenden Sie die API WSSEncryptPart, um bei Bedarf eine Umsetzungsalgorithmusmethode zu konfigurieren. Es gibt keinen Standardumsetzungsalgorithmus.
Informationen zu dieser Task
Einige der verschlüsselungsbezogenen Definitionen basieren auf der Spezifikation "XML-Encryption". Im Folgenden finden Sie Definitionen einiger Begriffe, die sich auf die Datenverschlüsselung beziehen:
- Algorithmus der Datenverschlüsselungsmethode
- Datenverschlüsselungsalgorithmen geben den Algorithmus-URI (Uniform Resource Identifier) der
Datenverschlüsselungsmethode an. Dieser Algorithmus verschlüsselt und entschlüsselt
Daten in mehrere Oktettblöcken fester Größe.
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.
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.
- Algorithmus der Schlüsselverschlüsselungsmethoden
- Die Algorithmen für Schlüsselchiffrierung geben den Algorithmus-URI der Methode für die Verschlüsselung des Schlüssels
an, der zum Verschlüsseln der Daten verwendet wird. Der
Algorithmus stellt die öffentlichen Schlüsselchiffrieralgorithmen dar, die
für die Verschlüsselung (Chiffrierung) und Entschlüsselung (Dechiffrierung) von Schlüsseln verwendet werden.
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.OAEPparamsangeben. 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.
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.
| Verwendungstypen | Beschreibung |
|---|---|
| Datenverschlüsselung | Gibt den für die Verschlüsselung und Entschlüsselung von Daten verwendeten Algorithmus-URI an. Ver- und entschlüsselt Daten fester Größe in mehreren Oktettblöcken. |
| Schlüsselchiffrierung | Gibt den für die Chiffrierung und Dechiffrierung von Chiffrierschlüsseln verwendeten Algorithmus-URI an. |
Datenverschlüsselung
WebSphere® Application Server unterstützt die folgenden vorkonfigurierten Datenverschlüsselungsalgorithmen:
| Name der Datenverschlüsselung | Algorithmus-URI |
|---|---|
| WSSEncryption.AES128 (Standardwert) | URI des Datenverschlüsselungsalgorithmus AES 128: https://www.w3.org/2001/04/xmlenc#aes128-cbc |
| WSSEncryption.AES192 | URI des Datenverschlüsselungsalgorithmus AES 192: https://www.w3.org/2001/04/xmlenc#aes192-cbc |
| WSSEncryption.AES256 | URI des Datenverschlüsselungsalgorithmus AES 256: https://www.w3.org/2001/04/xmlenc#aes256-cbc |
| WSSEncryption.TRIPLE_DES | URI des Datenverschlüsselungsalgorithmus 3DES: https://www.w3.org.2001/04/xmlenc#tripledes-cbc |
Schlüsselchiffrierung
WebSphere Application Server unterstützt die folgenden vorkonfigurierten Schlüsselverschlüsselungsalgorithmen:
| Name der Schlüsselchiffrierung | Algorithmus-URI |
|---|---|
| WSSEncryption.KW_AES128 | URI des Schlüsselchiffrieralgorithmus "key wrap AES 128": https://www.w3.org/2001/04/xmlenc#kw-aes128 |
| WSSEncryption.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.
|
| WSSEncryption.KW_AES256 | URI des Schlüsselchiffrieralgorithmus "key wrap AES 256": https://www.w3.org/2001/04/xmlenc#kw-aes256 |
| WSSEncryption.KW_RSA_OAEP (the default value) | URI des Schlüsselchiffrieralgorithmus "key wrap RSA OAEP": https://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
| WSSEncryption.KW_RSA15 | URI des Schlüsselchiffrieralgorithmus "key wrap RSA 1.5": https://www.w3.org/2001/04/xmlenc#rsa-1_5 |
| WSSEncryption.KW_TRIPLE_DES | https://www.w3.org/2001/04/xmlenc#kw-tripledes |
Verwenden Sie zum Konfigurieren der Algorithmusmethoden für Verschlüsselung und verschlüsselte Abschnitte die API WSSEncryption, oder konfigurieren Sie über die Administrationskonsole Richtliniensätze.
Während der WSS-API-Verarbeitung werden die folgenden übergeordneten Schritte ausgeführt, um anzugeben, welche Verschlüsselungsmethoden verwendet werden sollen, wenn der Client für die Anforderungsverschlüsselung konfiguriert wird:
Vorgehensweise
Ergebnisse
Beispiel
Im folgenden WSS-API-Beispielcode werden die Methoden WSSEncryption.setEncryptionMethod() und WSSEncryption.setKeyEncryptionMethod() verwendet.
// Get the message context
Object msgcontext = getMessageContext();
// Generate the WSSFactory instance
WSSFactory factory = WSSFactory.getInstance();
// Generate the WSSGenerationContext instance
WSSGenerationContext gencont = factory.newWSSGenerationContext();
// Generate callback handler
X509GenerateCallbackHandler callbackHandler = new
X509GenerateCallbackHandler(
"",
"enc-sender.jceks",
"jceks",
"storepass".toCharArray(),
"bob",
null,
"CN=Bob, O=IBM, C=US",
null);
// Generate the security token used for encryption
SecurityToken token = factory.newSecurityToken(X509Token.class , callbackHandler);
// Generate WSSEncryption instance
WSSEncryption enc = factory.newWSSEncryption(token);
// Set the data encryption method
// DEFAULT: WSSEncryption.AES128
enc.setEncryptionMethod(WSSEncryption.TRIPLE_DES);
// Set the key encryption method
// DEFAULT: WSSEncryption.KW_RSA_OAEP
enc.setEncryptionMethod(WSSEncryption.KW_RSA15);
// Add the WSSEncryption to the WSSGenerationContext
gencont.add(enc);
// Generate the WS-Security header
gencont.process(msgcontext);Nächste Schritte
Wenn Sie einen Umsetzungsalgorithmus hinzufügen möchten, sehen Sie sich als Nächstes den Prozess der API WSSEncryptPart an.