+

Search Tips   |   Advanced Search

Configure encryption to protect message confidentiality at the application level

We can configure the encryption information for the request consumer (server side) and response consumer (client side) bindings at the application level.

Configure the key information referenced in the encryption information panel. See Configure the key information using JAX-RPC for the consumer binding on the application level.

This task provides the steps needed for configuring the encryption information for the request consumer (server side) and response consumer (client side) bindings at the application level. The encryption information on the consumer side is used for decrypting the encrypted message parts in the incoming SOAP message.

Configure the encryption information for the request consumer or response consumer section of the bindings file on the application level:


Tasks

  1. Locate the Encryption information configuration panel in the administrative console.

    1. Click Applications > Application Types > WebSphere enterprise applications > application_name.

    2. Under Manage modules, click URI_name.

    3. Under Web Services Security Properties we can access the encryption information for the request consumer and response consumer bindings.

    4. Under Required properties, click Encryption information.

    5. Click New to create an encryption information configuration, click Delete to delete an existing configuration, or click the name of an existing encryption information configuration to edit its settings. For a new configuration, enter a name in the Encryption information name field. For example, we might specify cons_encinfo.

  2. Select a data encryption algorithm from the Data encryption algorithm field. The data encryption algorithm is used for encrypting or decrypting parts of a SOAP message such as the SOAP body or the username token. WebSphere Application Server supports the following pre-configured algorithms:

    • http://www.w3.org/2001/04/xmlenc#tripledes-cbc
    • http://www.w3.org/2001/04/xmlenc#aes128-cbc
    • http://www.w3.org/2001/04/xmlenc#aes256-cbc

      To use this algorithm, we must download the unrestricted Java Cryptography Extension (JCE) policy file from the following website: http://www.ibm.com/developerworks/java/jdk/security/index.html.

    • http://www.w3.org/2001/04/xmlenc#aes192-cbc

      To use this algorithm, we must download the unrestricted Java Cryptography Extension (JCE) policy file from the following website: http://www.ibm.com/developerworks/java/jdk/security/index.html.

      Restriction: Do not use the 192-bit key encryption algorithm if we want your configured application to be in compliance with the Basic Security Profile (BSP).

      Important: Your country of origin might have restrictions on the import, possession, use, or re-export to another country, of encryption software. Before downloading or using the unrestricted policy files, we must check the laws of our country, its regulations, and its policies concerning the import, possession, use, and re-export of encryption software, to determine if it is permitted.

    The data encryption algorithm that we select for the consumer side must match the data encryption method that we select for the generator side.

  3. Select a key encryption algorithm from the Key encryption algorithm field. The key encryption algorithm is used for encrypting the key used for encrypting the message parts within the SOAP message. Select (none) if the data encryption key, which is the key used for encrypting the message parts, is not encrypted. WAS supports the following pre-configured algorithms:

    • http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p.

      When running with SDK Version 1.4, the list of supported key transport algorithms does not include this one. This algorithm appears in the list of supported key transport algorithms when running with SDK Version 1.5.

      Restriction: This algorithm is not supported when the WAS is running in Federal Information Processing Standard (FIPS) mode.

    • http://www.w3.org/2001/04/xmlenc#rsa-1_5
    • http://www.w3.org/2001/04/xmlenc#kw-tripledes
    • http://www.w3.org/2001/04/xmlenc#kw-aes128
    • http://www.w3.org/2001/04/xmlenc#kw-aes256

      To use the http://www.w3.org/2001/04/xmlenc#aes256-cbc algorithm, we must download the unrestricted Java Cryptography Extension (JCE) policy file from the following website: http://www.ibm.com/developerworks/java/jdk/security/index.html.

    • http://www.w3.org/2001/04/xmlenc#kw-aes192

      To use the http://www.w3.org/2001/04/xmlenc#kw-aes192 algorithm, we must download the unrestricted Java Cryptography Extension (JCE) policy file from the following website: http://www.ibm.com/developerworks/java/jdk/security/index.html.

      Restriction: Do not use the 192-bit key encryption algorithm if we want your configured application to be in compliance with the Basic Security Profile (BSP).

    The key encryption algorithm that we select for the consumer side must match the key encryption method that we select for the generator side.

  4. Optional: Select a part reference in the Part reference field. The part reference specifies the name of the message part that is encrypted and is defined in the deployment descriptor. For example, we can encrypt the bodycontent message part in the deployment descriptor. The name of this Required Confidentiality part is conf_con. This message part is shown as an option in the Part reference field.

  5. Under Additional properties, click Key information references.

  6. Click New to create a key information configuration, click Delete to delete an existing configuration, or click the name of an existing key information configuration to edit its settings. For a new configuration, enter a name in the Name field. For example, we might specify con_ekeyinfo. This entry is the name of the <encryptionKeyInfo> element in the binding file.

  7. Select a key information reference from the Key information reference field. This reference is the value of the keyinfoRef attribute of the <encryptionKeyInfo> element and it is the name of the <keyInfo> element referenced by this key information reference. Each key information reference entry generates an <encryptionKeyInfo> element under the <encryptionInfo> element in the binding configuration file. For example, if we enter con_ekeyinfo in the Name field and dec_keyinfo in the Key information reference field, the following <encryptionKeyInfo> element is generated in the binding file:
    <encryptionKeyInfo xmi:id="EncryptionKeyInfo_1085092248843"
    keyinfoRef="dec_keyinfo" name="con_ekeyinfo"/>
    

  8. Click OK and then click Save to save the configuration.

We have configured the encryption information for the consumer binding at the application level


What to do next

Specify a similar encryption information configuration for the generator.


Related:

  • Basic Security Profile compliance tips
  • Configure encryption using JAX-RPC to protect message confidentiality at the application level
  • Configure the key information using JAX-RPC for the consumer binding on the application level