Configure the server for request digital signature verification: Verifying the message parts
Configure the server for request digital signature verification by modifying the extensions to indicate which parts of the request to verify.
There is an important distinction between Version 5.x and V6 and later applications. The information in this article supports V5.x applications only that are used with WebSphere Application Server V6.0.x and later. The information does not apply to Version 6.0.x and later applications. Prior to completing these steps, read either of the following topics to become familiar with the Extensions tab and the Binding Configurations tab in the Web services editor within the IBM assembly tools:
- Configure the server security bindings using an assembly tool
- Configure the server security bindings using the console
You can use these two tabs to configure the Web services security extensions and the Web services security bindings, respectively. Also, specify which parts of the message sent by the client must be digitally signed. See Configure the client for request signing: digitally signing message parts to determine which message parts are digitally signed. The message parts specified for the client request sender must match the message parts specified for the server request receiver.
Overview
Complete the following steps to configure the server for request digital signature verification. The steps describe how to modify the extensions to indicate which parts of the request to verify.
Procedure
- Launch an assembly tool. For more information on the assembly tools, see Assembly tools
- Switch to the J2EE perspective. Click Windows > Open perspective > Other > J2EE.
- Click EJB Projects > application > ejbModule > META-INF.
- Right-click the webservices.xml file, and click Open with > Web services editor.
- Click the Extensions tab in the Web services editor.
- Expand the Request receiver service configuration details > Required integrity section. Required integrity refers to the parts of the message that require digital signature verification. The purpose of digital signature verification is to make sure that the message parts have not been modified while transmitting across the Internet.
- Indicate parts of the message to verify by clicking Add, and selecting one of the following three parts: body, timestamp, or SecurityToken. You can determine which parts of the message to verify by looking at the Web service request sender configuration in the client application. To view the Web service request sender configuration information in the Web services client editor, click the Security extensions tab and expand Request sender configuration > Integrity. The following includes a list and description of the message parts:
- Body
- This is the user data portion of the message.
- Timestamp
- The timestamp determines if the message is valid based on the time that the message is sent and then received. If timestamp option is selected, proceed to the next step to Add Created Time Stamp to the message.
- Securitytoken
- The security token authenticates the client. If the SecurityToken is selected, the message is signed.
- Optional: Expand the Add received time stamp section. The Add Received Time Stamp value indicates to validate the Add Created Time Stamp option configured by the client. You must select this option if you selected the Add Created Time Stamp on the client. The time stamp ensures message integrity by indicating the timeliness of the request. This option helps defend against replay attacks.
Results
If you configure the client and server signing information correctly, but receive a Soap body not signed error when running the client, you might need to configure the actor. You can configure the actor in the following locations on the client in the Web Services Client Editor within the Application Server Toolkit:
- Click Security extensions > Client service configuration details and indicate the actor information in the Actor URI field.
- Click Security extensions > Request sender configuration > Details and indicate the actor information in the Actor field.
You must configure the same actor strings for the Web service on the server, which processes the request and sends the response back. Configure the actor in the following locations in the Web Services Editor within the Application Server Toolkit:
- Click Security extensions > Server service configuration.
- Click Security extensions > Response sender service configuration details > Details and indicate the actor information in the Actor field.
The actor information on both the client and server must refer to the same exact string. When the actor fields on the client and server match, the request or response is acted upon instead of being forwarded downstream. The actor fields might be different when you have Web services acting as a gateway to other Web services. However, in all other cases, make sure that the actor information matches on the client and server. When Web services are acting as a gateway and they do not have the same actor configured as the request passing through the gateway, Web services do not process the message from a client. Instead, these Web services send the request downstream. The downstream process that contains the correct actor string processes the request. The same situation occurs for the response. Therefore, it is important that you verify that the appropriate client and server actor fields are synchronized. You have specified which message parts are digitally signed and must be verified by the server when the client sends a message to a server.
What to do next
After you specify which message parts contain a digital signature that must be verified by the server, configure the server to recognize the digital signature method used to digitally sign the message. See Configure the server for request digital signature verification: choosing the verification method for more information.
Related concepts
Security token
Request sender
Request receiver
Related tasks
Configure the server security bindings using an assembly tool
Configure the server security bindings using the console
Configure the client for request signing: digitally signing message parts
Configure the client for request signing: choosing the digital signature method
Configure the server for request digital signature verification: choosing the verification method
Securing Web services for V5.x applications using XML digital signature