Adding time stamps for confidentiality in consumer security constraints with an XPath expression

 

Before you begin

Prior to completing this task, import your application into an assembly tool. For information on how to import your application, see Import 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. We 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.

 

Overview

This task is used to specify that a time stamp embedded in a particular element and encrypted on the generator side is checked for encryption on the consumer side. Complete the following steps to specify the time stamp for confidentiality 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. In the following steps, configure either the client-side extensions in step 2 or the server-side extensions in step 3.

 

Procedure

  1. Start the assembly tool and click Window > Open Perspective > J2EE.

  2. 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 we need to configure. Complete the following steps to locate the client-side extensions:

    1. Expand the Web Services > Client section and double-click the name of the Web service.

    2. Click the WS Extension tab and expand the Response Consumer Configuration section.

  3. 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 we need to configure. Complete the following steps to locate the server-side extensions:

    1. Expand the Web Services > Services section and double-click the name of the Web service.

    2. Click the Extensions tab and expand the Request Consumer Service Configuration Details section.

  4. Expand the Required Confidentiality section. Confidentiality refers to encryption while 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.

  5. Click Add to specify that the element within which a timestamp is added and encrypted, is checked for confidentiality. The Required Confidentiality Dialog window is displayed. Complete the following steps to specify a configuration:

    1. Specify a name for the confidentiality element in the Required Confidentiality Name field.

    2. 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.

  6. Click Add under the Timestamp section of the Required Confidentiality Dialog window. Complete the following steps to specify the timestamp dialect and the message part:

    1. Select the timestamp dialect from the Timestamp section. The http://www.w3.org/TR/1999/REC-xpath-19991116 dialect specifies which message part is verified for encryption using an XPath expression.

    2. Specify the message part which has an embedded time stamp and is checked for encryption using an XPath expression in the Timestamp keyword field. For example, to specify that the bodycontent element along with the embedded timestamp is checked for encryption, you might add the following expression in the Timestamp 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, one can click Add in the Message Parts section to add the message parts. You must define at least one message part in Required Confidentiality to specify a time stamp in Required Confidentiality.

  7. Click OK to save the configuration changes.

    Note: These configurations for the consumer and the generator must match.

    In addition to the time stamp, one can specify that the nonce is checked for encryption. For more information, see the following articles:

 

What to do next

After you specify which message parts to check for encryption, you must specify which method is used to verify the encryption. For more information, see Configuring encryption information for the consumer binding with an assembly tool.


 

Related Tasks


Adding a nonce for integrity in consumer security constraints with an XPath expression
Configuring encryption information for the consumer binding with an assembly tool
Adding a nonce for integrity in consumer security constraints with keywords