Sample WS-Security Wrapper Application on z/tpf Enterprise Edition V1.1

Similar documents
Note to US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Sample SOAP Message Handler on z/tpf Enterprise Edition V1.1

Downloads for TPF Family Products. Sample SOAP Bridge Wrapper on z/tpf Enterprise Edition V1.1. Page 1 of 5

Sample SOAP Consumer Application on z/tpf Enterprise Edition V1.1

TPF : Support : Tools : SOAP

z/tpf APAR Download Commands 1.1

CONNReadme.txt. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Page 1 of 6. tpfdf/rt/readme_sdo.txt. Service Data Objects (SDO) Access to z/tpfdf - PUT 05

Build integration overview: Rational Team Concert and IBM UrbanCode Deploy

IBM UrbanCode Cloud Services Security Version 3.0 Revised 12/16/2016. IBM UrbanCode Cloud Services Security

IBM Spectrum LSF Process Manager Version 10 Release 1. Release Notes IBM GI

Integrated use of IBM WebSphere Adapter for Siebel and SAP with WPS Relationship Service. Quick Start Scenarios

Platform LSF Version 9 Release 1.1. Migrating on Windows SC

ztpf_zdt_readme.txt IBM z/tpf Limited License for Development and Test readme Copyright IBM Corporation 2016

IBM WebSphere Sample Adapter for Enterprise Information System Simulator Deployment and Testing on WPS 7.0. Quick Start Scenarios

Platform LSF Version 9 Release 1.3. Migrating on Windows SC

Release Notes. IBM Security Identity Manager GroupWise Adapter. Version First Edition (September 13, 2013)

Release Notes. IBM Tivoli Identity Manager Universal Provisioning Adapter. Version First Edition (June 14, 2010)

IBM Rational Synergy DCM-GUI

TPF Users Group Fall 2007

Lisa Banks Distributed Systems Subcommittee

Release Notes. IBM Tivoli Identity Manager Rational ClearQuest Adapter for TDI 7.0. Version First Edition (January 15, 2011)

IBM License Metric Tool Version Readme File for: IBM License Metric Tool, Fix Pack TIV-LMT-FP0001

Tivoli Access Manager for Enterprise Single Sign-On

IBM Security QRadar Version Customizing the Right-Click Menu Technical Note

IBM Security QRadar Version Forwarding Logs Using Tail2Syslog Technical Note

Workplace Designer. Installation and Upgrade Guide. Version 2.6 G

IBM Maximo for Service Providers Version 7 Release 6. Installation Guide

IBM Spectrum LSF Version 10 Release 1. Readme IBM

IBM Maximo for Aviation MRO Version 7 Release 6. Installation Guide IBM

Setting Up Swagger UI for a Production Environment

Tivoli Access Manager for Enterprise Single Sign-On

IBM Geographically Dispersed Resiliency for Power Systems. Version Release Notes IBM

IBM Endpoint Manager for OS Deployment Linux OS provisioning using a Server Automation Plan

Tivoli Endpoint Manager for Patch Management - AIX. User s Guide

Release Notes. IBM Tivoli Identity Manager GroupWise Adapter. Version First Edition (September 13, 2013)

Migrating Classifications with Migration Manager

Tivoli Access Manager for Enterprise Single Sign-On

Release Notes. IBM Tivoli Identity Manager Oracle PeopleTools Adapter. Version First Edition (May 29, 2009)

IBM Cognos Dynamic Query Analyzer Version Installation and Configuration Guide IBM

Tivoli Access Manager for Enterprise Single Sign-On

IBM Rational Development and Test Environment for System z Version Release Letter GI

Setting Up Swagger UI on WebSphere

IBM. Networking INETD. IBM i. Version 7.2

Using application properties in IBM Cúram Social Program Management JUnit tests

Patch Management for Solaris

Integrating IBM Rational Build Forge with IBM Rational ClearCase and IBM Rational ClearQuest

Application and Database Protection in a VMware vsphere Environment

IBM Storage Driver for OpenStack Version Installation Guide SC

Redpaper. IBM Tivoli Access Manager for e-business: Junctions and Links. Overview. URLs, links, and junctions. Axel Buecker Ori Pomerantz

IBM Copy Services Manager Version 6 Release 1. Release Notes August 2016 IBM

White Paper: Configuring SSL Communication between IBM HTTP Server and the Tivoli Common Agent

IBM. Tivoli Usage and Accounting Manager (ITUAM) Release Notes. Version GI

Using Client Security with Policy Director

IBM Security QRadar Version 7 Release 3. Community Edition IBM

IBM Maximo Spatial Asset Management Version 7 Release 5. Installation Guide

Version 9 Release 0. IBM i2 Analyst's Notebook Premium Configuration IBM

Migrating on UNIX and Linux

IBM Maximo Spatial Asset Management Version 7 Release 6. Installation Guide IBM

IBM Storage Driver for OpenStack Version Release Notes

Configuring IBM Rational Synergy to use HTTPS Protocol

IBM Operations Analytics - Log Analysis: Network Manager Insight Pack Version 1 Release 4.1 GI IBM

IBM Software. Maximo Asset Management Version 7 Releases. Enabling Enterprise Mode for Internet Explorer. Maximo Report Designer/Architect.

Proposal for a Tivoli Storage Manager Client system migration from Solaris with VxFS to Linux with GPFS or AIX with GPFS or JFS2

Version 9 Release 0. IBM i2 Analyst's Notebook Configuration IBM

IBM Directory Integrator 5.1.2: Readme Addendum

Tivoli Access Manager for Enterprise Single Sign-On

IBM Security SiteProtector System Configuring Firewalls for SiteProtector Traffic

Implementing IBM Easy Tier with IBM Real-time Compression IBM Redbooks Solution Guide

IBM OpenPages GRC Platform - Version Interim Fix 1. Interim Fix ReadMe

Using the IBM DS8870 in an OpenStack Cloud Environment IBM Redbooks Solution Guide

IBM Storage Driver for OpenStack Version Release Notes

IBM Operational Decision Manager Version 8 Release 5. Configuring Operational Decision Manager on Java SE

iscsi Configuration Manager Version 2.0

IBM. Cúram JMX Report Generator Guide

IBM Tivoli Directory Server Version 5.2 Client Readme

IBM OpenPages GRC Platform Version Interim Fix 5. Interim Fix ReadMe

IBM Maximo Calibration Version 7 Release 5. Installation Guide

Getting Started with InfoSphere Streams Quick Start Edition (VMware)

IBM LoadLeveler Version 5 Release 1. Documentation Update: IBM LoadLeveler Version 5 Release 1 IBM

IBM Storage Driver for OpenStack Version Installation Guide SC

ServeRAID-MR10i SAS/SATA Controller IBM System x at-a-glance guide

Engineering and Scientific Subroutine Library for AIX, Version 4 Release 2. Installation GA

IBM BigInsights Security Implementation: Part 1 Introduction to Security Architecture

Version 4 Release 1. IBM i2 Enterprise Insight Analysis Data Model White Paper IBM

IBM Tivoli Monitoring Version 6.1. Firewall Gateway Feature

IBM emessage Version 8.x and higher. Account Startup Overview

IBM OpenPages GRC Platform Version 7.0 FP2. Enhancements

IBM Content Analytics with Enterprise Search Version 3.0. Expanding queries and influencing how documents are ranked in the results

Tivoli Access Manager for Enterprise Single Sign-On

Tivoli Storage Manager for Virtual Environments: Data Protection for VMware Solution Design Considerations IBM Redbooks Solution Guide

IBM. IBM i2 Analyze Windows Upgrade Guide. Version 4 Release 1 SC

Continuous Availability with the IBM DB2 purescale Feature IBM Redbooks Solution Guide

IBM Cloud Object Storage System Version Time Synchronization Configuration Guide IBM DSNCFG_ K

IBM. Release Notes November IBM Copy Services Manager. Version 6 Release 1

CONFIGURING SSO FOR FILENET P8 DOCUMENTS

IBM Storage Management Pack for Microsoft System Center Operations Manager (SCOM) Version Release Notes

Netcool/Impact Version Release Notes GI

Installation and User s Guide

Transcription:

Page 1 of 10 Downloads for TPF Family Products Sample WS-Security Wrapper Application on z/tpf Enterprise Edition V1.1 Copyright International Business Machines Corporation, 2010. All Rights Reserved. Note to US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Note: Before using this information and the product it supports, read the general information under "NOTICES" in this document. CONTENTS This file includes the following information: 1.0 ABOUT THIS README 2.0 SYSTEM REQUIREMENTS 3.0 DOWNLOADING 4.0 WS-SECURITY 4.1 Client identification 4.2 WS-Addressing SOAP Message Handler 4.3 Encryption key name and key alias mapping 4.4 SOAP message handler extension file 5.0 COMPILING, LINKING AND LOADING 6.0 DEPLOYING 7.0 GENERATING KEYS 8.0 RUNNING 9.0 NOTICES 9.1 Trademarks 1.0 ABOUT THIS README This readme file will guide you through the process of downloading, installing, and using a sample WS-Security SOAP application on your z/tpf system. This sample application demonstrates how to use the z/tpf SOAP consumer application programming interfaces (APAR PJ35511) to invoke a Web service using WS-Security (XML Encryption) (APAR PJ37673) on a remote platform or on the same z/tpf system. The sample WS-Security Wrapper package provides you with a complete sample that can be run on your z/tpf system. You can use it as a starting point for your own WS-Security SOAP applications and Web service stubs, use it for training purposes, or use it as-is. Go to the IBM TPF Product Information Center for more details about WS-Security and SOAP consumer support. Note: The TPF development lab does not maintain this application and will not accept APARs on this code. 2.0 SYSTEM REQUIREMENTS Before proceeding with these instructions, additional downloads may be required from the TPF Support Web site. Do the following: 1. Ensure that PJ35511 (SOAP Consumer) has been applied to your z/tpf system. 2. Ensure that PJ37673 (WS-Security) and PJ37735 (WS-Security errnos) have been applied to your z/tpf system.

Page 2 of 10 3. Download and install the Sample SOAP Consumer Application from http://www- 01.ibm.com/software/htp/tpf/maint/toolsztpf.html. 4. Download and install the WS-Security Wrapper Sample application. from http://www- 01.ibm.com/software/htp/tpf/maint/toolsztpf.html. 3.0 DOWNLOADING To download this module, do the following: 1. Click the Download now button to download the compressed sample WS-Security Wrapper package (the tarball) to your PC. The name of this package is WS-Security_wrapper_sample_zTPF.tar.Z. 2. FTP the tarball to your home directory on your Linux system using binary mode: Open an MS-DOS window and activate FTP by using the following command: ftp your.linux.build.machine.com Sign in using your user name and password. Set the mode to binary by entering the following command: binary Send the file to your Linux system by using the following command: send c:\your_path\ws-security_wrapper_sample_ztpf.tar.z WS- Security_wrapper_sample_zTPF.tar.Z Exit FTP by entering the following command: bye 3. On your Linux system, create a working directory in your root directory by entering the following command: mkdir ~/your_workdir 4. Change to the working directory and extract the program files from the WS-Security sample package by entering the following command: cd ~/your_workdir tar -xzkf../ws-security_wrapper_sample_ztpf.tar.z After you have completed this step, you will have the following files on your Linux system in the directory ~/your_workdir: Consumer files: Sample WS-Security consumer Web service deployment descriptor for the sample application (base/tpf-ws/securecalculatorservice_consumer.xml) Sample WS-Security consumer extension file descriptor for the sample application (base/tpf-ws/ext/ws-security/calculatorconsumer_ext.xml) SOAP Message Handler files: Sample WS-Addressing SOAP message handler deployment descriptor for the sample application (base/tpf-ws/ws-addressing.xml) Provider files: Sample WS-Security user exit code: local_mod/base/rt/cwscue.c local_mod/base/rt/cso9.c Sample z/tpf Web wrapper application code: soap/calculator/soap/csob.c soap/calculator/soap/csob.mak Sample WS-Addressing SOAP message handler code: soap/ws-addressing/csok.c soap/ws-addressing/csok.mak Sample WS-Security provider Web service deployment descriptor for the sample

Page 3 of 10 application (base/tpf-ws/securecalculatorservice.xml) Sample WS-Security provider extension file descriptor for the sample application (base/tpf-ws/ext/ws-security/calculatorprovider_ext.xml) Sample XML documents: Encrypted XML request (sampledocs/securecalculatorconsumerrequest.xml) XML request after decryption (sampledocs/requestafterdecryption.xml) CalculatorService response before encryption (sampledocs/responsebeforeencryption.xml) Encrypted XML response (sampledocs/securecalculatorconsumerresponse.xml) This readme (WS-Security_readme.htm). 4.0 WS-SECURITY There are many ways to set up and customize WS-Security on your system. The following are instructions on how this sample WS-Security application is customized. 4.1 Client identification The Web services client system identification user exit function tpf_soapgetclientid, in segment cwscue.c, is called as part of the WS-Security SOAP Message Handler processing. Encrypted inbound SOAP messages into z/tpf have to include information about the sending system identity so that the WS-Security SOAP message handler can select the correct encryption key to do the decryption. This sample makes use of the WS-Addressing specification to provide this capability. It is up to the end-user to select and implement the client system identification mechanism to be used in your installation. To learn more about how this sample has partially implemented WS-Addressing support, do the following: 1. Open the sample encrypted XML request file called SecureCalculatorConsumerRequest.xml. 2. The sample cwscue.c code expects the inbound SOAP request to contain a wsa:address element in the SOAP Header block. The value of the "Address" is the client identifier and can be any agreed upon name between the client and provider. The sample code uses the z/tpf XML API tpf_getelementsbytagname() to extract the "Address" element for the client identifier. Locate the "Address" element in the request file that was opened in Step #1: <wsa:from> <wsa:address>http://www.ibm.com/localtpf/clientapplication</wsa:address> </wsa:from> The value of the element called Address (shown above) "http://www.ibm.com/localtpf/clientapplication" will be stored and used for the client identification of this request. 3. If you choose another method for client identifier, open the cwscue.c file to edit the tpf_soapgetclientid function to return your system client identification. 4. Helper functions TPF_SOAP_MSGCTX_GET_CLIENT_ID(ctx) and TPF_SOAP_MSGCTX_SET_CLIENT_ID(ctx, client_id) are provided to manually retrieve and set the client system identifier. The client_id must be a NULL terminated string. 4.2 WS-Addressing SOAP Message Handler: The sample WS-Addressing SOAP message handler for using WS-Addressing along with XML encryption is segment csok.c. It provides the mechanism to identify the consumer that is sending in

Page 4 of 10 Web service requests and the provider that is sending the Web service responses. Outbound requests The WS-Addressing handler will add the wsa-addressing elements to the outbound consumer XML request. The elements are added after the WS-Security Header element. (SecureCalculatorConsumerRequest.xml) <wsa:from> <wsa:address>http://www.ibm.com/localtpf/clientapplication</wsa:address> </wsa:from> <wsa:action>http://example.com/addressing</wsa:action> Outbound responses The WS-Addressing handler will add wsa-addressing elements to the outbound provider XML Encryption responses. The elements are added after the WS-Security Header element. Open the sample encrypted outbound SOAP response file called SecureCalculatorConsumerResponse.xml and locate the "Address" element: <wsa:from xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:address>9.57.13.48</wsa:address> </wsa:from> <wsa:action>http://example.com/addressing</wsa:action> Changing the wsa-addressing 1. Open the user exit segment cwscue.c. 2. For outbound consumer requests, edit the code to add your own addressing information to be sent in the request. 3. For outbound provider responses, this sample message handler code uses the host IP address for the "From" "Address". This can be changed to whatever the user desires. 4.3 Key mapping: The WS-Security SOAP message handler uses keys in the z/tpf secure key keystore to provide support for the encryption and decryption of SOAP messages. Key aliases, which are the key names that appear in actual SOAP message flows to and from z/tpf, are resolved into z/tpf key names based on the client identity (4.1) of the system that is sending a SOAP request. To get key names needed for decryption of inbound requests and encryption of outbound responses, a user exit tpf_soapmapkey(client_id, key_alias) in cso9.c is called with the client system identifier and a key alias name as parameters. Inbound requests: For decrypting inbound SOAP requests, the key alias name is retrieved from the <KeyName> element in the request message. (SecureCalculatorConsumerRequest.xml) Locate the "KeyName" element in the request file that was opened in Step #1: <ds:keyinfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:keyname>localkeyalias</ds:keyname> </ds:keyinfo> Outbound responses:

Page 5 of 10 For encrypting outbound SOAP responses, key aliases are specified in the extension file. Open the sample WS-Security consumer extension file called calculatorconsumer_ext.xml. Locate the "KeyAlias" element in the extension file. <ztpfwsse:keyinformation> <ztpfwsse:existingkey Id="mykey1"> <ztpfwsse:keyalias>>localkeyalias</ztpfwsse:keyalias> </ztpfwsse:existingkey> </ztpfwsse:keyinformation> Map the key alias to real key name: 1. Generate the keys that the consumer and provider Web services will use, import the keys to the z/tpf secure key keystore and activate them. Since this sample application is designed to run with both the consumer and provider on the same z/tpf processors, the keys can be generated using the ZKEYS command (Section 7.0). If the consumer and provider were on separate z/tpf processors, the user would need to have a method to import the keys from the other processors. 2. Open the sample user exit cso9.c and see that it contains a table with a client identifier, key alias name, and the 'real' key name (also called the z/tpf secure key keystore name). For example, the sample code maps the client identifier of http://www.ibm.com/localtpf/clientapplication and the key alias name of LocalKeyAlias to the keystore name of LOCALKEY. (LOCALKEY must exist in the z/tpf secure key keystore) 3. If you wish to make changes to how the key alias is mapped to the real key name, edit the sample user exit code (cso9.c) to either change the current table to include your specific client identifiers and key alias names or to return the keystore name with a different method. 4. Go to the IBM TPF Product Information Center for more information on z/tpf Security. 4.4 Extension file The extension file names for the WS-Security SOAP message handler are identified in the Web service deployment descriptor. The values in the SOAP message handler extension files are unique to your organization. Sample extension file explanations for this WS-Security application: 1. Open the sample Consumer extension file for /CalculatorService (calculatorconsumer_ext.xml) Key aliases are assumed to match actual key names in the z/tpf secure key keystore. Locate the "OutFlow" element. This is used for non-fault responses. If the operation that was specified in the inbound SOAP request is add, then the "Field" elements under the "EncryptionOutFlow" will be used for encryption. In this case, the "/Envelope/Body/add/value" element is listed. It has an encryption type of "Content" which means we will encrypt just the content of the element "value" but not the element tag name "<value>" from its start to end tags. The keyid of "mykey1" maps to the "ExistingKey" element (4.3). <ztpfwsse:outflow> <ztpfwsse:operation name="add"> <ztpfwsse:encryptionoutflow> <ztpfwsse:encryptfields>

Page 6 of 10 <ztpfwsse:field type="content" keyid="mykey1"> /Envelope/Body/add/value </ztpfwsse:field> </ztpfwsse:encryptfields> </ztpfwsse:encryptionoutflow> </ztpfwsse:operation> </ztpfwsse:outflow> 2. Open the sample Provider extension file for /CalculatorService (calculatorprovider_ext.xml) Key aliases are assumed to match actual key names in the z/tpf secure key keystore. Locate the "OutFlow" element. This is used for non-fault responses. If the operation that was specified in the inbound SOAP request is add, then the "Field" elements under the "EncryptionOutFlow" will be used for encryption. In this case, the "/Envelope/Body/addResponse" element is listed. It has an encryption type of "Element" which means we will encrypt the content of the element "addresponse" AND the element tag name "<addresponse>" from its start to end tags. The identity of the element itself is hidden. The keyid of "mykey1" maps to the "ExistingKey" element (4.3). <ztpfwsse:outflow> <ztpfwsse:operation name="add"> <ztpfwsse:encryptionoutflow> <ztpfwsse:encryptfields> <ztpfwsse:field type="element" keyid="mykey1"> /Envelope/Body/addResponse </ztpfwsse:field> <</ztpfwsse:encryptfields> </ztpfwsse:encryptionoutflow> </ztpfwsse:operation> </ztpfwsse:outflow> Locate the "Faultflow" element. This is used for fault responses. Notice that no Operation is listed. An "Operation" element without a name attribute like add serves as a catch-all category for all operations not specified in the extension file. In this case, the "/Envelope/Body/Fault/faulstring" element is listed. It has an encryption type of "Content" which means we will encrypt the content of the element "faultstring" but not the element tag name "<faultstring>" from its start to end tags. The keyid of "mykey1" maps to the "ExistingKey" element (4.3). <ztpfwsse:faultflow> <ztpfwsse:operation> <ztpfwsse:encryptionoutflow> <ztpfwsse:encryptfields> <ztpfwsse:field type="content" keyid="mykey1"> /Envelope/Body/Fault/faultstring </ztpfwsse:field> </ztpfwsse:encryptfields> </ztpfwsse:encryptionoutflow> </ztpfwsse:operation> </ztpfwsse:faultflow> 5.0 COMPILING, LINKING, AND LOADING 1. cd ~/your_workdir

Page 7 of 10 2. Create a maketpf configuration file named maketpf.cfg. Ensure that the first assignment of TPF_ROOT in maketpf.cfg is the absolute path to your "~/your_workdir" directory. Ensure that the first assignment of APPL_ROOT in maketpf.cfg is the absolute path to your "~/your_workdir" directory. Update other fields (TPF_BSS_NAME, TPF_SS_NAME, USER_VERSION_CODE) if necessary. 3. Compile and link the WS-Security user exit sample programs and message handler program. maketpf cso9.mak -f maketpf cwsu.mak -f maketpf csok.mak -f 4. Compile and link the SOAP provider sample programs. maketpf csob.mak -f 5. Use the standard load procedure to transfer and load the SOAP sample programs (CSO9, CWSU, CSOK, CSOB) to your test system. 6.0 DEPLOYING To deploy the sample Web services, making them accessible to the z/tpf SOAP handler, you will need to FTP the consumer and provider Web service deployment descriptors and SOAP message handler descriptors to your z/tpf system and use the ZWSAT DEPLOY command. You will also need to define a mechanism for activating the sample SOAP consumer application (QWC2) which was part of the download in Step 2.3. The sample is designed to run with both the SOAP consumer and SOAP provider on the same z/tpf processor. For example, the transport definitions in the consumer Web service deployment descriptor make use of the well-known loopback IP address (127.0.0.1) or rely on queue definitions that are local to the current z/tpf processor. If you wish to run the sample with the SOAP consumer and SOAP provider on separate z/tpf processors, update the consumer Web service deployment descriptor accordingly before continuing with these deployment steps. 1. FTP the Web service deployment descriptors and SOAP message handler descriptors to the /etc/tpf-ws/ directory on your z/tpf system using binary mode: Change to the "~/your_workdir" directory: cd ~/your_workdir FTP by using the following command: ftp your.ztpf.system Sign in using your user name and password. Set the mode to binary by entering the following command: binary Send the file to your z/tpf system by using the following command: send SecureCalculatorService_consumer.xml /etc/tpfws/calculatorservice_consumer.xml send SecureCalculatorService.xml /etc/tpf-ws/calculatorservice.xml send WS-Security.xml /etc/tpf-ws/ws-security.xml send WS-Addressing.xml /etc/tpf-ws/ws-addressing.xml

Page 8 of 10 2. FTP the Web service provider and consumer WS-Security extension files to the /etc/tpfws/ext/ws-security directory on your z/tpf system using binary mode: Send the file to your z/tpf system by using the following command: send calculatorconsumer_ext.xml /etc/tpf-ws/ext/ws- Security/calculatorConsumer_ext.xml send calculatorprovider_ext /etc/tpf-ws/ext/ws- Security/calculatorProvider_ext.xml Exit FTP by entering the following command: bye 3. On your z/tpf system, deploy the WS-Security SOAP Message Handlers and consumer and provider Web services by entering the following commands: ZWSAT DEPLOY DD-WS-Security.xml ZWSAT DEPLOY DD-WS-Addressing.xml ZWSAT DEPLOY DD-SecureCalculatorService_consumer.xml ZWSAT DEPLOY DD-SecureCalculatorService.xml 4. On your z/tpf system, verify the deployment of the descriptors and display the extension file data: ZWSAT DISPLAY DD-SecureCalculatorService_consumer.xml ZWSAT DISPLAY DD-SecureCalculatorService_consumer.xml ext-all ZWSAT DISPLAY DD-SecureCalculatorService.xml ZWSAT DISPLAY DD-SecureCalculatorService.xml ext-all 5. Ensure that the communications binding(s) that you intend to use are running. 7.0 GENERATING KEYS 1. Generate and activate the key in the z/tpf secure key keystore using the ZKEYS command. Go to the IBM TPF Product Information Center for more details on ZKEYS. ZKEYS GENERATE ENC-LOCALKEY DEC-LOCALKEY CIPHER-AES128CBC NEW ZFILE mkdir /your_backup_dir ZKEYS BACKUP PATH-/your_backup_dir/your_backup_filename PASSWORDyour_backup_password ZKEYS ACTIVATE ENC-LOCALKEY DEC-LOCALKEY 8.0 RUNNING

Page 9 of 10 The WS-Security SOAP consumer sample application demonstrates the use of Web Services Security (XML Encryption) on z/tpf. The application invokes the /CalculatorService sample Web service on z/tpf. The /CalculatorService exposes two operations: add and sub. You can specify which operation to invoke, along with the two values that are to be added or subtracted. The expected input format for the sample SOAP consumer application is as follows: ZCALC operation VAL1-value1 VAL2-value2 [Transport-transport] [Mep-mep] [TImeoutto] For example: ZCALC add VAL1-6 VAL2-77 TRANSPORT-HTTP MEP-SYNC The response should look like this: CALC0100I 16.52.22 RESPONSE RECEIVED FOR /CalculatorService Synchronous call to add operation was successful HTTP transport was used Result of 100 plus 400 is 500 END OF DISPLAY The fact that encryption was used is transparent to the application, so the results of running the command will not indicate that encryption was used in any way. 9.0 NOTICES IBM may not offer the products, services, or features discussed in this information in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-ibm product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this information. The furnishing of this information does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM Corporation Department 31BA/Building 008 Mail Drop P369 2455 South Road Poughkeepsie, NY 12601-5400 U.S.A.

Page 10 of 10 Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. Any references in this information to non-ibm Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. 8.1 Trademarks IBM is a trademark of International Business Machines Corporation in the United States, other countries, or both. Microsoft is a registered trademark of Microsoft Corporation in the United States, other countries, or both. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.