Requirements and Restrictions for Upgrading Deployed Applications

18-2 Oracle WebLogic Communications Server Administration Guide The recommended security configuration for OWLCS web services uses Security Assertion Markup Language SAML tokens to pass identities between web service clients and OWLCS. With SAML tokens, instead of the web service client passing a username and password to OWLCS, a trust relationship is established between the client and OWLCS by means of exchanging certificates. Once this keystore configuration is in place, the web service client passes only the user identity, and vouches for the fact that it has authenticated the user appropriately. The recommended policies to use for OWLCS web services are: ■ oraclewss11_saml_token_with_message_protection_service_ policy server-side ■ oraclewss11_saml_token_with_message_protection_client_policy client-side

18.2.1 Web Service Security on Notification

The different Web services include corresponding notification Web services MessageNotification, PresenceNotification that run on the client side and receive notifications message delivery status, message receipt, presence status change when the appropriate event occurs. This implementation does not provide for the use of Web Service security WS-Security by default during notification of the clients. That is, the server assumes that the notification Web services running on the client side do not use WS-Security, and makes no attempt to authenticate itself when sending notifications. If you enable WS-Security on the client side, the notification from the server will fail because the notification SOAP request will be missing the required headers.

18.2.2 Enabling OWLCS Service Security

To enable a policy for an OWLCS web service, follow the steps in Configuring Oracle WSM Security Policies in Administration Console in Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server, selecting policy oraclewss11_ saml_token_with_message_protection_service_policy. This configuration must be repeated for each service that you wish to secure.

18.2.3 Enabling Client Security

Web service client security must be enabled programmatically. When using the client libraries described in Oracle WebLogic Communication Services Developers Guide, WS-Security policy configuration is provided when a client object is constructed. The client constructors take an argument of type MapString, Object. In general when using SAML authentication, the keyvalue pairs Table 18–1 should be added to the configuration map in addition to other required properties such as the endpoint address. Table 18–1 Client security keys Key Type Typical Value oracle.sdp.parlayx.ParlayXConstants.POLI CIES String[] oraclewss11_saml_ token_with_message_ protection_client_ policy javax.xml.ws.BindingProvider.USERNAME_ PROPERTY String valid username Parlay X Web Services Architecture 18-3 Example 18–1 Web Service Client Security import oracle.sdp.parlayx.presence.consumer.PresenceConsumerClient; ... MapString, Object config = new HashMapString, Object; config.putjavax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, owlcs_url; config.putoracle.sdp.parlayx.ParlayXConstants.POLICIES, new String[] {oraclewss11_saml_token_with_message_protection_client_policy}; config.putjavax.xml.ws.BindingProvider.USERNAME_PROPERTY, test.user1; PresenceConsumerClient presenceClient = new PresenceConsumerClientconfig;

18.2.4 Keystore Configuration

In order to use the recommended WS-Security policy, you must configure a keystore containing the public and private key information required by OWSM. Refer to Configuring the Credential Store Using WLST in Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server for information on how to configure the keystore and corresponding credential store entries. ■ If both your web service client and OWLCS server are in the same domain, then they share a keystore and credential store. ■ If your web service client and OWLCS server are in different domains, then you must import the OWLCS public key into your client domains keystore, and must import your client domains public key into the OWLCS keystore.

18.2.5 Client Aliases

When using certain WS-Security policies such as the SAML policy recommended here, the client must use the servers public key to encrypt the web service request. However, there is generally only one keystore configured per domain. Therefore, if you have a domain in which there are web service clients that communicate with web services in multiple other domains, then you may need to override the default keystore entry used by OWSM. For example, if you have a domain in which application A is a web service client to a SOA web service, and application B is a web service client to an OWLCS web service, then As requests must be encrypted using the public key of the SOA domain, and Bs requests must be encrypted using the public key of the OWLCS domain. You can accomplish this goal by overriding the keystore alias used by OWSM for each request. ■ Import the two server domains public keys into the client domains keystore using different keystore aliases. For example, import the OWLCS public key with alias owlcs_public_key, and the SOA public key with alias soa_public_key. ■ When creating an OWLCS web service client, specify the recipient keystore alias parameter, setting the key to oracle.wsm.security.util.SecurityConstants.Config.KEYSTORE_ oracle.wsm.security.util.SecurityConstan ts.Config.KEYSTORE_RECIPIENT_ALIAS_ PROPERTY String optional keystore alias for target service. See Client Aliases . Table 18–1 Cont. Client security keys Key Type Typical Value