Friday 20 January 2012

Scenario based Security Model for WCF Services in LoadRunner


Scripting using LoadRunner for WCFwshttpbinding using the webservices protocol

Before starting, to understand what is WCFwshttpbinding please refer link http://geekswithblogs.net/claeyskurt/archive/2008/04/22/121508.aspx.
Below are the various authentication methods used in WCF wshttpbinding
Wshttpbinding
o    Client authentication type
§  None
§  Windows
§  Certificate
§  Username (message protection)
§  Username (transport protection)
o    WSFederationHttpbinding
o    Customebinding
Speak with development team to identify the authentication method used. Safest approach is to request the config file from the development team and browse through the <security></security> section of the config file and identify the authentication method used. For example if <transport clientCredentialType="Windows" /> is present then it uses “Integrated Windows authentication
clientCredentialType Attribute
Value
Description
None
Security is disabled.
Basic
Uses basic authentication.
Digest
Uses digest authentication.
Ntlm
Uses NTLM as a fallback with a Windows domain.
Windows
Uses integrated Windows authentication.
Certificate
Uses X.509 certificates to authenticate the client.

If the tag <security></security> is not present it uses integrated windows authentication.


1. In the New Single Protocol script select web services
2. In the SOA Tools, select Manage Services or click Manage Services in the services toolbar
3. Click Import in the Manage Services window
4. In the Import Service Window, enter wsdl URL and click Import
5. Ensure that the below highlighted message is displayed
6. Now click Protocol and Security tab
7. Click Scenario type in the Protocol and Security Scenario Data window
8. Expand WCF > WSHttpBinding > by client authentication type
9. Select authentication type
10. In the below example we selected Windows as client Authentication Type
11. Enter value for SPN (Service Principal Name) or UPN (User Principal Name)
 If the server is running in a service account (Network Service for example), specify the account's ServicePrincipalName as the  identity in the EndpointAddress for the server. If the server is running in a user account, specify the account's  UserPrincipalName as the identity in the EndpointAddress for the server.
12. Click Ok
13. In the SOA Tools, select Add Service call or click Add Service Call in the services toolbar
14. Click Input Arguments and click buttons Include All and Generate.
15. Edit the required fields in the input xml and run the tests.

This post covers only Wshttpbinding > Client authentication type > Windows.

How to create multiple client certificates and use them in JMeter script

Client authentication/ mutual authentication / Two-way SSL are typically implemented when the client device is expected to authenticate to ...