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.
A propos de 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, Java™ Cryptography Extension (JCE) est livré avec des chiffrements à force restreinte ou 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 le AES256-cbc et le AES192-cbc algorithmes, vous devez télécharger les fichiers de stratégie Java™ Cryptography Extension (JCE) sans restriction à partir du site Web suivant : https://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 :- https://www.w3.org/2001/04/xmlenc#sha256
- https://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 pour 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 définir ces méthodes de digestion et ces propriétés OAEPParams uniquement côté générateur. Côté client, ces propriétés sont lues à partir du message SOAP entrant.Pour le KW-AES256 et le KW-AES192 algorithmes de chiffrement à clé, vous devez télécharger les fichiers de stratégie JCE sans restriction à partir du site Web suivant : https://www.ibm.com/developerworks/java/jdk/security/index.html.
Important: Votre pays d'origine peut avoir des restrictions sur l'importation, la possession, l'utilisation ou la réexportation vers un autre pays de logiciels de cryptage. 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 | Descriptif |
|---|---|
| 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 chiffrement de données 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 : https://www.w3.org/2001/04/xmlenc#aes128-cbc |
| WSSEncryption.AES192 | URI de l'algorithme de chiffrement de données, AES 192 : https://www.w3.org/2001/04/xmlenc#aes192-cbc |
| WSSEncryption.AES256 | URI de l'algorithme de chiffrement de données, AES 256 : https://www.w3.org/2001/04/xmlenc#aes256-cbc |
| WSSEncryption.TRIPLE_DES | URI de l'algorithme de chiffrement de données 3DES : https://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, AES 128 avec encapsulation de clé : https://www.w3.org/2001/04/xmlenc#kw-aes128 |
| WSSEncryption.KW_AES192 | URI de l'algorithme de chiffrement de clés, AES 192 avec encapsulation de clé : https://www.w3.org/2001/04/xmlenc#kw-aes192 Restriction: N'utilisez pas l'algorithme de chiffrement à clé de 192 bits si vous souhaitez que votre application configurée soit conforme au profil de sécurité de base (BSP).
|
| WSSEncryption.KW_AES256 | URI de l'algorithme de chiffrement de clés, AES 256 avec encapsulation de clé : https://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, RSA OAEP avec encapsulation de clé : https://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
| WSSEncryption.KW_RSA15 | URI de l'algorithme de chiffrement de clés, RSA 1.5 avec encapsulation de clé : https://www.w3.org/2001/04/xmlenc#rsa-1_5 |
| WSSEncryption.KW_TRIPLE_DES | https://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();
// 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);Etape suivante
Pour ajouter ensuite un algorithme de transformation, voir le processus de l'API WSSEncryptPart.