Choix des méthodes de chiffrement pour les liaisons de générateur
Pour configurer le client pour le chiffrement des demandes pour la liaison de générateur, vous devez indiquer les méthodes de chiffrement à utiliser lorsque le client chiffre les messages SOAP.
Avant de commencer
Avant de suivre cette procédure, voir les informations de chiffrement XML pour vous familiariser avec le chiffrement et le déchiffrement de messages SOAP.
- Utilisez l'API WSSEncryption pour configurer les méthodes d'algorithme de chiffrement de données et d'algorithme de chiffrement de clé.
- Utilisez l'API WSSEncryptPart pour configurer une méthode d'algorithme de transformation, si besoin est. Par défaut, il n'existe pas d'algorithme de transformation.
Pourquoi et quand exécuter cette tâche
Certaines définitions liées au chiffrement se basent sur la spécification XML-Encryption. Les informations suivantes déterminent des termes liés au chiffrement de données :
- Algorithme de méthode de chiffrement des données :
- Les algorithmes de chiffrement de données indiquent l'URI de l'algorithme pour la
méthode de chiffrement des données. Cet algorithme chiffre et déchiffre des
données dans des blocs muti-octets de taille fixe.
Par défaut, l'extension JCE (Java™ Cryptography Extension) est livrée avec des codes de chiffrement de puissance limitée. Pour utiliser les algorithmes de chiffrement AES (Advanced Encryption Standard) 192 bits et 256 bits, vous devez appliquer des fichiers de règles de juridiction sans restriction.
Pour les algorithmes AES256-cbc et AES192-cbc, vous devez télécharger les fichiers de règles JCE (Java Cryptography Extension) sans restriction, à partir du site Web suivant : http://www.ibm.com/developerworks/java/jdk/security/index.html.
- Algorithme de méthode de chiffrement de clé :
- Les algorithmes de déchiffrement de clés indiquent l'URI (Uniform Resource
Identifier) de la méthode servant à chiffrer la clé. L'algorithme désigne les
algorithmes de chiffrement de clé publique pour chiffrer et déchiffrer des clés.
Par défaut, l'algorithme RSA-OAEP utilise l'algorithme de synthèse de message SHA1 pour calculer une synthèse de message pendant le chiffrement. Vous pouvez éventuellement utiliser l'algorithme de synthèse de message SHA256 ou SHA512 en indiquant une propriété d'algorithme de chiffrement des clés.
Le nom de la propriété est : com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod. La valeur de la propriété correspond à l'une des URI suivantes de la méthode simplifiée :- http://www.w3.org/2001/04/xmlenc#sha256
- http://www.w3.org/2001/04/xmlenc#sha512
Par défaut, l'algorithme RSA-OAEP utilise une chaîne nulle pour la chaîne d'octets de codage facultative de OAEPParams. Vous pouvez fournir une chaîne d'octets de codage en définissant une propriété d'algorithme de chiffrement des clés. Pour le nom de la propriété, vous pouvez utiliser com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams. La valeur de la propriété correspond à la valeur codée en base 64 de la chaîne d'octets.
Important : Vous pouvez configurer cette méthode simplifiée et les propriétés OAEPParams côté générateur uniquement. Côté client, ces propriétés sont lues à partir du message SOAP entrant.Pour les algorithmes de chiffrement de clés KW-AES256 et KW-AES192, vous devez télécharger les fichiers de règles JCE, version non limitée (unrestricted), à partir du site Web : http://www.ibm.com/developerworks/java/jdk/security/index.html.
Important : Votre pays d'origine peut imposer des restrictions pour l'importation, l'utilisation ou la réexportation d'un logiciel de chiffrement vers un autre pays. Avant de télécharger ou d'utiliser des fichiers de règles non restreintes, vous devez vérifier les lois en vigueur dans votre pays, sa réglementation et ses règles concernant l'importation, la possession, l'utilisation et la réexportation du logiciel de chiffrement afin de déterminer si cela est autorisé.
Types de syntaxe | Description |
---|---|
Chiffrement des données | Indique l'URI d'algorithme utilisé pour le chiffrement et le déchiffrement des données. Chiffre et déchiffre des données sous la forme de blocs de plusieurs octets à taille fixe. |
Chiffrement des clés | Indique l'URI d'algorithme utilisé pour le chiffrement et le déchiffrement des clés de chiffrement. |
Chiffrement des données
WebSphere Application Server prend en charge les algorithmes de déchiffrement préconfigurés suivants :
Nom de chiffrement de données | URI d'algorithme |
---|---|
WSSEncryption.AES128 (valeur par défaut) | URI de l'algorithme de chiffrement de données, AES 128: http://www.w3.org/2001/04/xmlenc#aes128-cbc |
WSSEncryption.AES192 | URI de l'algorithme de chiffrement de données, AES 192: http://www.w3.org/2001/04/xmlenc#aes192-cbc |
WSSEncryption.AES256 | URI de l'algorithme de chiffrement de données, AES 256: http://www.w3.org/2001/04/xmlenc#aes256-cbc |
WSSEncryption.TRIPLE_DES | URI de l'algorithme de chiffrement de données 3DES : http://www.w3.org.2001/04/xmlenc#tripledes-cbc |
Chiffrement des clés
WebSphere Application Server prend en charge les algorithmes de chiffrement de clés préconfigurés suivants :
Nom de chiffrement de clé | URI d'algorithme |
---|---|
WSSEncryption.KW_AES128 | URI de l'algorithme de chiffrement de clés, clé AES 128: http://www.w3.org/2001/04/xmlenc#kw-aes128 |
WSSEncryption.KW_AES192 | URI de l'algorithme de chiffrement de clés, clé AES 192: http://www.w3.org/2001/04/xmlenc#kw-aes192 Restriction : N'utilisez pas l'algorithme de chiffrement de données 192 bits si vous voulez que l'application configurée soit compatible avec le profil BSP (Basic Security Profile).
|
WSSEncryption.KW_AES256 | URI de l'algorithme de chiffrement de clés, clé AES 256: http://www.w3.org/2001/04/xmlenc#kw-aes256 |
WSSEncryption.KW_RSA_OAEP (valeur par défaut) | URI de l'algorithme de chiffrement de clés, clé RSA OAEP: http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
WSSEncryption.KW_RSA15 | URI de l'algorithme de chiffrement de clés, clé 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 |
Pour configurer les méthodes d'algorithme de chiffrement et de parties chiffrées, utilisez l'API WSSEncryption ou configurez des ensembles de règles à l'aide de la console d'administration.
L'API WSS suit la procédure de haut niveau pour indiquer les méthodes de chiffrement à utiliser lors de la configuration du client pour le chiffrement de la demande :
Procédure
Résultats
Exemple
L'exemple suivant fournit un exemple de code d'API WSS avec WSSEncryption.setEncryptionMethod() et WSSEncryption.setKeyEncryptionMethod().
// Get the message context
Object msgcontext = getMessageContext();
// Générer l'instance WSSFactory
WSSFactory factory = WSSFactory.getInstance();
// Générer l'instance WSSGenerationContext
WSSGenerationContext gencont = factory.newWSSGenerationContext();
// Générer le gestionnaire d'appel
X509GenerateCallbackHandler callbackHandler = new
X509GenerateCallbackHandler(
"",
"enc-sender.jceks",
"jceks",
"storepass".toCharArray(),
"bob",
null,
"CN=Bob, O=IBM, C=US",
null);
// Générer le jeton de sécurité utilisé pour le chiffrement
SecurityToken token = factory.newSecurityToken(X509Token.class , callbackHandler);
// Générer l'instance WSSEncryption
WSSEncryption enc = factory.newWSSEncryption(token);
// Définir la méthode de chiffrement de données
// DEFAULT: WSSEncryption.AES128
enc.setEncryptionMethod(WSSEncryption.TRIPLE_DES);
// Définir la méthode de chiffrement de clé
// DEFAULT: WSSEncryption.KW_RSA_OAEP
enc.setEncryptionMethod(WSSEncryption.KW_RSA15);
// Ajouter WSSEncryption à WSSGenerationContext
gencont.add(enc);
// Génère l'en-tête WS-Security
gencont.process(msgcontext);
Que faire ensuite
Pour ajouter ensuite un algorithme de transformation, voir le processus de l'API WSSEncryptPart.