Wednesday, December 19, 2012

Invoke secured service(Sign and encrypt) from SoapUI 4.0.0

Here we are using the WSO2ESB 4.0.3 and SoapUI 4.0.0

First of all you have to start the ESB and secure the "echo" service as follows

1. Click on the "List" button under "Web Service" menu and Select the "Unsecured" button to Secure the service in front of "echo" service

esb1

2. Now select "yes" from drop down and selected the policy number "5" and click Next

esb2

3. Select the "Trusted key store" and "Private key store" click Finish

esb3

4. You can see the message "Security applied successfully"

esb4

Configuration part in ESB side is finished. What we have to do now is Invoke the secured service through the SoapUI

1. Open the SoapUI and go to "New SoapUI project" and give the service endpoint url with wsdl

ex/ endpoint url - http://localhost:8280/services/echo?wsdl

you can easily take the endpoint url by click on the service

esb5

Place the endpoint url with wsdl and create SoapUI project

so1

2. Click on the created project and select "Show Project View"

so2

3. go to "WS-Security Configurations"

so3

4. Select "Keystores / Certificates"

so4

5. Add new keystore - select the "wso2carbon.jks" that you select to secure the service (you can easily find this here ${ESB_HOME}/repository/resources/security)

so5

so6

so7

6. Set Default Alias as "wso2carbon" and Alias Password as "wso2carbon"

so8

7. Select tab "Incoming WS-Security Configuration"

so9

Add new record name as "incoming-security"

so10

Select Signature keystore as "wso2carbon.jks" and set password as "wso2carbon"

so11

8. Select tab "Outgoing WS-Security Configuration"

so12

Add new record name as "outgoing-security"

so13

so14

Set Alias name as "wso2carbon" and password as "wso2carbon"

so15

9. Add new WS Entry "TimeStamp"

so16

so17

Set value as "300000"

so18

9. Add another WS Entry "Signature"

Keystore : wso2carbon.jks
Alias : wso2carbon
Password : wso2carbon
Key Identifier type : Binary Security Token
Signature Algorithm : http://www.w3.org/2000/09/xmldsig#rsa-sha1
Signature Canonicalization : http://www.w3.org/2001/10/xml-exc-c14n#
Digest Algorithm : sha1
Use Single certificate : true

Parts - Add a new sign part for SOAP body. For that use the following values

ID - [keep it as blank]
Name - Body
Namespace - http://www.w3.org/2003/05/soap-envelope
Encode - Content

so19

9. Add another WS Entry "Encryption"

so20
Keystore : wso2carbon.jks
Alias : wso2carbon
Password : wso2carbon
Key Identifier type : Binary Security Token
Symmetric Encoding Algorithm : <Default>
Key Encryption Algorithm : <Default>
Encryption Canonicalization : <Default>
Create Encrypted Key : true
Parts - Add a new Encryption part

ID - [keep it as blank]
Name - Body
Namespace - http://www.w3.org/2003/05/soap-envelope
Encode - Content

so24

10. Save the SoapUI project and select the one of function under soap12Binding and go to request

Select "Aut" and Set the  "Outgoing WSS" and "Incoming WSS"

so23

11. Invoke the service with the required parameters

so25

No comments:

Post a Comment