2-86 Securing WebLogic Web Services for Oracle WebLogic Server
See Creating Shared Java EE Libraries and Optional Packages in Developing Applications for Oracle WebLogic Server for information on creating shared libraries and
setting up your environment so the Web service can find the shared policy files.
2.20.2 Implementation Notes
Keep the following considerations in mind when implementing element-level security:
■
You can include multiple element-level assertions in a policy; all are executed.
■
You can include multiple sp:XPath expressions in a single assertions; all are executed.
■
The EncryptedElements assertion causes the identified element and all of its children to be encrypted.
■
The ContentEncryptedElements assertion does not encrypt the identified element, but does encrypt all of its children.
■
The RequiredElements assertion may be used to test for the presence of a top-level element in the SOAP header. If the element is not found, a SOAP Fault
will be raised.
RequiredElements assertions cannot be used to test for elements in the SOAP Body.
2.21 Smart Policy Selection
Multiple policy alternatives for any given Web service are supported, which provides the service with significant flexibility.
Consider that a Web service might support any of the following:
■
Different versions of the standard. For example, the Web service might allow WSRM 1.0 and WSRM 1.1, WSS1.0 and WSS 1.1, WSSC 1.1 and WWSSC 1.2, SAML
1.1 or SAML 2.0.
■
Different credentials for authentication. For example, the Web service might allow either username token, X509, or SAML token for authentication.
■
Different security requirements for internal and external clients. For example, external authentication might require a SAML token, while internal employee
authentication requires only a username token for authentication.
The Web services client can also handle multiple policy alternatives. The same client can interoperate with different services that have different policy or policy
alternatives.
For example, the same client can talk to one service that requires SAML 1.1 Token Profile 1.0 for authentication, while another service requires SAML 2.0 Token Profile
1.1 for authentication.
2.21.1 Example of Security Policy With Policy Alternatives
Example 2–22 shows an example of a security policy that supports both WS-Security
1.0 and WS-Security 1.1.
Note: Within the wsp:ExactlyOne element, each policy alternative
is encapsulated within a wsp:All element.
Configuring Message-Level Security 2-87
Example 2–22 Policy Defining Multiple Alternatives
?xml version=1.0? wsp:Policy xmlns:wsp=http:schemas.xmlsoap.orgws200409policy
xmlns:sp=http:docs.oasis-open.orgws-sxws-securitypolicy200512 wsp:ExactlyOne
wsp:All sp:AsymmetricBinding
wsp:Policy sp:InitiatorToken
wsp:Policy sp:X509Token
sp:IncludeToken=http:docs.oasis-open.orgws-sxws-securitypolicy200512Include TokenAlwaysToRecipient
wsp:Policy sp:WssX509V3Token10
wsp:Policy sp:X509Token
wsp:Policy sp:InitiatorToken
sp:RecipientToken wsp:Policy
sp:X509Token sp:IncludeToken=http:docs.oasis-open.orgws-sxws-securitypolicy200512Include
TokenNever wsp:Policy
sp:WssX509V3Token10 wsp:Policy
sp:X509Token wsp:Policy
sp:RecipientToken sp:AlgorithmSuite
wsp:Policy sp:Basic256
wsp:Policy sp:AlgorithmSuite
sp:Layout wsp:Policy
sp:Lax wsp:Policy
sp:Layout sp:IncludeTimestamp
sp:ProtectTokens sp:OnlySignEntireHeadersAndBody
wsp:Policy sp:AsymmetricBinding
sp:SignedParts sp:Body
sp:SignedParts sp:Wss10
wsp:Policy sp:MustSupportRefKeyIdentifier
sp:MustSupportRefIssuerSerial wsp:Policy
sp:Wss10 wsp:All
wsp:All sp:AsymmetricBinding
wsp:Policy sp:InitiatorToken
2-88 Securing WebLogic Web Services for Oracle WebLogic Server
wsp:Policy sp:X509Token
sp:IncludeToken=http:docs.oasis-open.orgws-sxws-securitypolicy200512Include TokenAlwaysToRecipient
wsp:Policy sp:RequireThumbprintReference
sp:WssX509V3Token11 wsp:Policy
sp:X509Token wsp:Policy
sp:InitiatorToken sp:RecipientToken
wsp:Policy sp:X509Token
sp:IncludeToken=http:docs.oasis-open.orgws-sxws-securitypolicy200512Include TokenNever
wsp:Policy sp:RequireThumbprintReference
sp:WssX509V3Token11 wsp:Policy
sp:X509Token wsp:Policy
sp:RecipientToken sp:AlgorithmSuite
wsp:Policy sp:Basic256
wsp:Policy sp:AlgorithmSuite
sp:Layout wsp:Policy
sp:Lax wsp:Policy
sp:Layout sp:IncludeTimestamp
sp:ProtectTokens sp:OnlySignEntireHeadersAndBody
wsp:Policy sp:AsymmetricBinding
sp:SignedParts sp:Body
sp:SignedParts sp:Wss11
wsp:Policy sp:MustSupportRefKeyIdentifier
sp:MustSupportRefIssuerSerial sp:MustSupportRefThumbprint
sp:MustSupportRefEncryptedKey sp:RequireSignatureConfirmation
wsp:Policy sp:Wss11
wsp:All wsp:ExactlyOne
wsp:Policy
Configuring Message-Level Security 2-89
2.21.2 Configuring Smart Policy Selection