You can specify which message parts are expected to be signed using
an XPath expression.
Before you begin
Prior to completing this task, you must import your application into
an assembly tool.
For information on how to import
your application, see Importing
enterprise applications.
The following information explains the
difference between using an XPath expression and using keywords to specify
which part of the message to sign:
- XPath expression
- Specify any part of the message using an XPath expression. XPath is a
language that is used to address parts of an XML document. You can find information
on XPath syntax at the following Web site: http://www.w3.org/TR/1999/REC-xpath-19991116.
- Keywords
- Specify only elements within the message using predefined keywords.
About this task
Complete the following steps to specify which message parts are expected
to be signed using an XPath expression. In the following steps, you must configure
either the client-side extensions in step 2 or the server-side extensions
in step 3.
Procedure
- Start the assembly tool.
- Switch to the Java 2 Platform, Enterprise Edition (J2EE) perspective.
Click Window > Open Perspective > J2EE.
- Optional: Locate the client-side extensions using the
Project Explorer window. The Client Deployment Descriptor window
is displayed. This Web service contains the extensions that you must configure.
Complete the following steps to locate the client-side extensions:
- Expand the Web Services > Client section and double-click the
name of the Web service.
- Click the WS Extension tab and expand the Response Consumer
Configuration section.
- Optional: Locate the server-side extensions using the
Project Explorer window. The Web Services Editor window is displayed.
This Web service contains the extensions that you must configure. Complete
the following steps to locate the server-side extensions:
- Expand the Web Services > Services section and double-click
the name of the Web service.
- Click the Extensions tab and expand the Request Consumer
Service Configuration Details section.
- Expand the Required Integrity section. Integrity refers
to digital signature and confidentiality refers to encryption. Integrity decreases
the risk of data modification when you transmit data across a network. For
more information on digitally signing SOAP messages, see XML digital signature.
- Click Add to indicate which message parts to validate for
digital signature. The Required Integrity Dialog window is displayed.
Complete the following steps to specify a configuration:
- Specify a name for the integrity element under Required Integrity
Name field.
- Specify a usage type in the Usage type field. This
field specifies the requirement for the integrity element. The value of this
attribute is either Required or Optional.
- Required
- If you select Required and the required message parts or elements
are not signed, the message is rejected with SOAP fault.
- Optional
- If you select Optional, then the digital signature of the selected
message parts or elements is verified if they are signed. However, the consumer
does not reject the message if the selected message parts or elements are
not signed.
- Click Add under the Message Parts section of the Required
Integrity Dialog window. Complete the following steps to specify
the message parts dialect and its message part:
- Select the Message parts dialect from the Message Parts section
of the Required Integrity Dialog window. If you select the http://www.w3.org/TR/1999/REC-xpath-19991116
dialect, the message part that is validated for digital signature is specified
by the XPath expression.
- Specify the message part to be validated for digital signature
using an XPath expression in the Message parts keyword field. For
example, to specify that the message body is checked to determine if it is
signed, you might add the following expression in the Message parts keyword
field as one continuous line:
/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/'
and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/
soap/envelope/' and local-name()='Body']
Important: Verify
that your XPath syntax is correct.
- Click OK to save the configuration changes.
Note: These
configurations for the consumer and the generator must match.
In
addition to the message parts, you also can specify that WebSphere Application
Server check the nonce and timestamp elements for a digital signature. For
more information, see the following articles: