You can check the confidentiality of an element that has nonce
embedded in it and that is encrypted by using an XPath expression when you
configure the consumer security constraints for either the response consumer
or the request consumer. The response consumer is configured for the client,
and the request consumer is configured for the server.
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
Nonce for confidentiality is used to specify that the nonce
is embedded in a particular element within the message and that the element
is encrypted. Complete the following steps. You must configure either the
client-side bindings in step 2 or the server-side bindings 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 bindings 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 bindings:
- 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 bindings using the
Project Explorer window. The Web Services Editor window is displayed.
This Web service contains the bindings that you must configure. Complete the
following steps to locate the server-side bindings:
- 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 Confidentiality section. Confidentiality
refers to encryption and integrity refers to digital signing. Confidentiality
reduces the risk of someone intercepting the message as it moves across a
network. With confidentiality specifications, the message is encrypted before
it is sent and decrypted when it is received at the intended target. For more
information on encryption, see XML encryption.
- Click Add to specify that the element within which a nonce
is added and encrypted is checked for confidentiality. The Required
Confidentiality Dialog window is displayed. Complete the following steps to
specify a configuration:
- Specify a name for the confidentiality element in the Required
Confidentiality Name field.
- Specify a usage type in the Usage type field. This
field specifies the requirement for the confidentiality element. The value
of this attribute is either Required or Optional.
- Click Add under the Nonce section of the Required Confidentiality
Dialog window. Complete the following steps to specify a nonce
dialect and its associated message part:
- Select the nonce dialect from the Nonce section. The http://www.w3.org/TR/1999/REC-xpath-19991116 dialect
specifies the message part which has an embedded nonce is verified for encryption
using an XPath expression.
- Specify the message part that has an embedded nonce is unencryption
using an XPath expression in the Nonce keyword field. For example,
to specify that the bodycontent element along with the embedded nonce is checked
for confidentiality, you might add the following expression in the Nonce 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()='Bodycontent']
- If you have not specified message parts in Required Confidentiality,
click Add in the Message Parts section to add message parts. You must
define at least one message part in Required Confidentiality for specifying
Nonce in Required Confidentiality.
- In the Message Parts section, select the message parts keyword.
- Click OK to save the configuration changes.
Note: These
configurations on the consumer side and the generator side must match.
In
addition to the nonce, you can specify that the timestamp element is checked
for encryption. For more information, see the following articles: