WAS v8.5 > Secure applications > Secure web services > Secure web services > Administer Web Services Security > Administer message-level security for JAX-RPC web services > Configure message-level security for JAX-RPC at the application level > Configure generator signing using JAX-RPC to protect message integrityConfigure the signing information using JAX-RPC for the generator binding on the application level
We can configure the signing information for the client-side request generator and the server-side response generator bindings at the application level.
For WebSphere Application Server version 6.x or earlier only, in the server-side extensions file (ibm-webservices-ext.xmi) and the client-side deployment descriptor extensions file (ibm-webservicesclient-ext.xmi), specify which parts of the message are signed. Also, configure the key information referenced by the key information references on the signing information panel within the dmgr console. This task explains the required steps to configure the signing information for the client-side request generator and the server-side response generator bindings at the application level. WAS uses the signing information for the default generator to sign parts of the message including the body, time stamp, and user name token. The Application Server provides default values for bindings. However, an administrator must modify the defaults for a production environment. To configure the signing information for the generator sections of the bindings files on the application level:
- Locate the signing information configuration panel in the dmgr console.
- Click Applications > Application Types > WebSphere enterprise applications > application_name.
- Under Manage modules, click URI_name.
- Under Web Services Security Properties, we can access the signing information for the request generator and the response generator bindings.
- For the request generator (sender) binding, click Web services: Client security bindings. Under Request generator (sender) binding, click Edit custom.
- For the response generator (sender) binding, click Web services: Server security bindings. Under Response generator (sender) binding, click Edit custom.
- Under Required properties, click Signing information.
- Click New to create a signing information configuration, select the box next to the configuration and click Delete to delete an existing configuration, or click the name of an existing signing information configuration to edit its settings. If you are creating a new configuration, enter a name in the Signing information name field. For example, you might specify gen_signinfo.
- Select a signature method algorithm from the Signature method field. The algorithm specified for the generator, which is either the request generator or the response generator configuration, must match the algorithm specified for the consumer, which is either the request consumer or response consumer configuration. WAS supports the following pre-configured algorithms:
- http://www.w3.org/2000/09/xmldsig#rsa-sha1
- http://www.w3.org/2000/09/xmldsig#hmac-sha1
- http://www.w3.org/2000/09/xmldsig#dsa-sha1
Restriction: Do not use this algorithm if you want the configured application to be compliant with the Basic Security Profile (BSP).
Any ds:SignatureMethod/@Algorithm element in a SIGNATURE based on a symmetric key must have a value of http://www.w3.org/2000/09/xmldsig#rsa-sha1 or http://www.w3.org/2000/09/xmldsig#hmac-sha1.
- Select a canonicalization method from the Canonicalization method field. The canonicalization algorithm specified for the generator must match the algorithm for the consumer. WAS supports the following pre-configured algorithms:
- http://www.w3.org/2001/10/xml-exc-c14n#
- http://www.w3.org/2001/10/xml-exc-c14n#WithComments
- http://www.w3.org/TR/2001/REC-xml-c14n-20010315
- http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
- Select a key information signature type from the Key information signature type field. WAS supports the following signature types:
- None
- The <KeyInfo> element is not signed.
- Keyinfo
- The entire <KeyInfo> element is signed.
- Keyinfochildelements
- The child elements of the <KeyInfo> element are signed.
The key information signature type for the generator must match the signature type for the consumer. You might encounter the following situations:
- If we do not specify one of the previous signature types, WAS uses keyinfo, by default.
- If you select Keyinfo or Keyinfochildelements and you select http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform as the transform algorithm in a subsequent step, WAS also signs the referenced token.
- Select a signing key information reference from the Signing key information field. This selection is a reference to the signing key the Application Server uses to generate digital signatures.
- Click OK and Save to save the configuration.
- Click the name of the new signing information configuration. This configuration is the one that you specified in a previous step.
- Specify the part reference, digest algorithm, and transform algorithm. The part reference specifies which parts of the message to digitally sign.
- Under Additional properties, click Part references > New to create a new part reference, click Part references > Delete to delete an existing part reference, or click a part name to edit an existing part reference.
- Specify a unique part name for this part reference. For example, you might specify reqint.
- Select a part reference from the Part reference field.
The part reference refers to the message part that is digitally signed. The part attribute refers to the name of the <Integrity> element in the deployment descriptor when the <PartReference> element is specified for the signature. We can specify multiple <PartReference> elements within the <SigningInfo> element. The <PartReference> element has two child elements when it is specified for the signature: <DigestTransform> and <Transform>.
- Select a digest method algorithm from the menu. The digest method algorithm specified within the <DigestMethod> element is used in the <SigningInfo> element.
WAS supports the following algorithms:
- http://www.w3.org/2000/09/xmldsig#sha1
- http://www.w3.org/2001/04/xmlenc#sha256
- http://www.w3.org/2001/04/xmlenc#sha512
- Click OK to save the configuration.
- Click the name of the new part reference configuration. This configuration is the one that you specified in a previous step.
- Under Additional Properties, click Transforms > New to create a new transform, click Transforms > Delete to delete a transform, or click a transform name to edit an existing transform.
If you create a new transform configuration, specify a unique name. For example, you might specify reqint_body_transform1.
- Select a transform algorithm from the menu. The transform algorithm is specified within the <Transform> element and specifies the transform algorithm for the signature. WAS supports the following algorithms:
- http://www.w3.org/2001/10/xml-exc-c14n#
- http://www.w3.org/TR/1999/REC-xpath-19991116
Restriction: Do not use this transform algorithm if we want our configured application to be compliant with the Basic Security Profile (BSP). Instead use http://www.w3.org/2002/06/xmldsig-filter2 to ensure compliance.
- http://www.w3.org/2002/06/xmldsig-filter2
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
- http://www.w3.org/2002/07/decrypt#XML
- http://www.w3.org/2000/09/xmldsig#enveloped-signature
The transform algorithm that you select for the generator must match the transform algorithm that you select for the consumer.
If both of the following conditions are true, WAS signs the referenced token:
- You previously selected the Keyinfo or the Keyinfochildelements option from the Key information signature type field on the signing information panel.
- You select http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform as the transform algorithm.
- Click Apply.
- Optional: Determine whether to disable the Inclusive namespace prefix list. The Exclusive XML Canonicalization v1.0 specification recommends that you include all of the namespace declarations that correspond to the namespace prefix in the canonicalization form. For security reasons, WAS, by default, includes the prefix in the digital signature for Web Services Security. However, some implementations of Web Services Security cannot handle this prefix list. WAS can handle digitally signed messages that either contain or do not contain the prefix list. If you experience a signature validation failure when a signed SOAP message is sent and you are using another vendor in the environment, check with your service provider for a possible fix to their implementation before you disable this property. To disable this property...
- Under Additional properties, click Properties > New.
- In the Property name field, enter the com.ibm.wsspi.wssecurity.dsig.inclusiveNamespaces property.
- In the Property value field, enter the false value.
- Click OK.
We can set this property for both the request generator and the response generator configurations.
- Click Save at the top of the panel to save your configuration.
Results
After completing these steps, the signing information is configured for the generator on the application level.
Specify a similar signing information configuration for the consumer.
Subtopics
- Signing information page
Use this page to view a list of signing parameters. Signing information is used to sign and validate parts of a message including the body, time stamp, and user name token. We can also use these parameters for X.509 validation when the authentication method is IDAssertion and the ID type is X509Certificate in the server-level configuration. In such cases, you must fill in the certificate path fields only.- Signing information configuration settings
Use this page to configure new signing parameters.- Part reference page
Use this page to view the message part references for signature and encryption that are defined in the deployment descriptors.- Part reference configuration settings
Use this page to specify a reference to the message parts for signature and encryption that are defined in the deployment descriptors.- Transforms page
Use this page to view the transform algorithm used for processing the Web Services Security message.- Transforms configuration settings
Use this page to specify the transform algorithm used for processing the Web Services Security message.
Related concepts:
Basic Security Profile compliance tips
Related
Configure the signing information using JAX-RPC for the consumer binding on the application level