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.
Vorbereitende Schritte
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 diesem Vorgang
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 JCE (Java™ Cryptography Extension) mit eingeschränkten Chiffriergraden oder beschränkten Schlüssellängen geliefert. Wenn Sie die 192-Bit- und 256-Bit-AES-Verschlüsselungsalgorithmen (Advanced Encryption Standard) verwenden möchten, müssen Sie Richtliniendateien anwenden, die keinen gesetzlichen Einschränkungen unterliegen.
Wenn Sie die Algorithmen AES256-cbc und AES192-cbc verwenden möchten, müssen Sie die nicht eingeschränkte JCE-Richtliniendatei (Java™ Cryptography Extension) von der folgenden Website herunterladen: http://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:- http://www.w3.org/2001/04/xmlenc#sha256
- http://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. Der Eigenschaftswert ist der Base-64-verschlüsselte Wert der Oktettzeichenfolge.
Wichtig: Sie können diese Digest-Methode und die OAEPParams-Eigenschaften nur auf Generatorseite angeben. Auf der Konsumentenseite werden diese Eigenschaften aus der eingehenden SOAP-Nachricht (Simple Object Access Protocol) gelesen.Für die Schlüsselchiffrieralgorithmen KW-AES256 und KW-AES192 müssen Sie die nicht eingeschränkten JCE-Richtliniendateien von der folgenden Website herunterladen: http://www.ibm.com/developerworks/java/jdk/security/index.html.
Wichtig: In Ihrem Herkunftsland gibt es möglicherweise Beschränkungen für den Import, den Besitz 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: http://www.w3.org/2001/04/xmlenc#aes128-cbc |
WSSEncryption.AES192 | URI des Datenverschlüsselungsalgorithmus AES 192: http://www.w3.org/2001/04/xmlenc#aes192-cbc |
WSSEncryption.AES256 | URI des Datenverschlüsselungsalgorithmus AES 256: http://www.w3.org/2001/04/xmlenc#aes256-cbc |
WSSEncryption.TRIPLE_DES | URI des Datenverschlüsselungsalgorithmus 3DES: http://www.w3.org.2001/04/xmlenc#tripledes-cbc |
Schlüsselchiffrierung
WebSphere Application Server unterstützt die folgenden vorkonfigurierten Schlüsselchiffrieralgorithmen:
Name der Schlüsselchiffrierung | Algorithmus-URI |
---|---|
WSSEncryption.KW_AES128 | URI des Schlüsselchiffrieralgorithmus "key wrap AES 128": http://www.w3.org/2001/04/xmlenc#kw-aes128 |
WSSEncryption.KW_AES192 | URI des Schlüsselchiffrieralgorithmus "key wrap AES 192":
http://www.w3.org/2001/04/xmlenc#kw-aes192 Einschränkung: Verwenden Sie den Algorithmus für 192-Bit-Schlüsselverschlüsselung
nicht, wenn Ihre konfigurierte Anwendung mit dem Basic Security Profile (BSP) konform sein soll.
|
WSSEncryption.KW_AES256 | URI des Schlüsselchiffrieralgorithmus "key wrap AES 256": http://www.w3.org/2001/04/xmlenc#kw-aes256 |
WSSEncryption.KW_RSA_OAEP (the default value) | URI des Schlüsselchiffrieralgorithmus "key wrap RSA OAEP": http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
WSSEncryption.KW_RSA15 | URI des Schlüsselchiffrieralgorithmus "key wrap RSA 1.5": http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
WSSEncryption.KW_TRIPLE_DES | http://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.
// Nachrichtenkontext abrufen
Object msgcontext = getMessageContext();
// WSSFactory-Instanz generieren
WSSFactory factory = WSSFactory.getInstance();
// WSSGenerationContext-Instanz generieren
WSSGenerationContext gencont = factory.newWSSGenerationContext();
// Callback-Handler generieren
X509GenerateCallbackHandler callbackHandler = new
X509GenerateCallbackHandler(
"",
"enc-sender.jceks",
"jceks",
"storepass".toCharArray(),
"bob",
null,
"CN=Bob, O=IBM, C=US",
null);
// Für die Verschlüsselung verwendetes Sicherheitstoken generieren
SecurityToken token = factory.newSecurityToken(X509Token.class , callbackHandler);
// WSSEncryption-Instanz generieren
WSSEncryption enc = factory.newWSSEncryption(token);
// Datenverschlüsselungsmethode festlegen
// STANDARD: WSSEncryption.AES128
enc.setEncryptionMethod(WSSEncryption.TRIPLE_DES);
// Schlüsselchiffriermethode festlegen
// STANDARD: WSSEncryption.KW_RSA_OAEP
enc.setEncryptionMethod(WSSEncryption.KW_RSA15);
// WSSEncryption zu WSSGenerationContext hinzufügen
gencont.add(enc);
// WS-Security-Header generieren
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.