WS-Security Authentication
WS-Security authentication includes user name token authentication, timestamp validation, and encryption of WS-Security headers. This section provides you with several examples of authentication configuration.
Enable/Disable WS-Security Authentication
WS-Security user name token configuration can be found in:
<PPM_Home>/server/<PPM_Server_Name>/deploy/itg.war/WEB-INF/conf/axis2.xml
.
Variable | Meaning |
---|---|
<PPM_Home> | Represents the path where your PPM instance is installed. For example: xyzserver/E/PPMServer. |
<PPM_Server_Name> | Represents the name assigned to your PPM Server during installation. For example: xyzProduction. This corresponds to the KINTANA_SERVER_NAME server.conf parameter value and does not necessarily reflect the actual host name of the server. |
By default, WS-Security authentication is enabled.
In the axis2.xml file, the following XML configuration enables WS-Security authentication. To disable WS-Security authentication, comment out all of this XML.
<module ref="rampart" /> <parameter name="InflowSecurity"> <action> <items> UsernameToken Timestamp Encrypt </items> <passwordCallbackClass> com.mercury.itg.ws.core.handlers.security.PasswordCallbackHandl er </passwordCallbackClass> <decryptionPropFile> service.properties </decryptionPropFile> </action> </parameter>
In the InflowSecurity section, the following three action items are defined:
-
UsernameToken: Specifies that the UsernameToken security credentials should be expected in received SOAP messages.
The UsernameToken profile defines a set of SOAP headers to carry the username/password from the client to the server.
-
Timestamp: Specifies that the Timestamp element should be validated.
-
Encrypt: Specifies that encrypted messages should be decrypted.
SOAP Header Without Timestamp Data or Encryption
The following example shows a SOAP header that does not include timestamp data or encryption:
<soap:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/ wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soap:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-25699763"> <wsse:Username>admin</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-username-token-profile- 1.0#PasswordText">admin</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soap:Header>
Refer to the Axis2 Rampart module's documentation for more information:
http://ws.apache.org/axis2/modules/rampart/1_0/security-module.html
WS-Security Timestamp
By default, PPM enables Timestamp validation.
To disable Timestamp validation on the server side, remove "Timestamp" from the action items list as shown in the following example:
<module ref="rampart" /> <parameter name="InflowSecurity"> <action> <items> UsernameToken Encrypt </items> <passwordCallbackClass> com.mercury.itg.ws.core.handlers.security.PasswordCallbackHandl er </passwordCallbackClass> <decryptionPropFile> service.properties </decryptionPropFile> </action> </parameter>
WS-Security Encryption
By default, PPM encrypts WS-Security user name token headers.
To disable encryption, remove "Encrypt" from the action items list as shown in the following example:
<module ref="rampart" /> <parameter name="InflowSecurity"> <action> <items> UsernameToken Timestamp </items> <passwordCallbackClass> com.mercury.itg.ws.core.handlers.security.PasswordCallbackHandl er </passwordCallbackClass> <decryptionPropFile> service.properties </decryptionPropFile> </action> </parameter>
The following content shows an example of the service.properties file:
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keystore.type=jks org.apache.ws.security.crypto.merlin.keystore.password=ppmservi ce org.apache.ws.security.crypto.merlin.file=service.jks
In this example, the java key store file is defined as the security properties file, and the password to the key store file is ppmservice.