WSSPolicyManager.java revision 4a2f0f0be43dfd4c1b490cbf3cc48b6ba6084b1c
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * The contents of this file are subject to the terms
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * of the Common Development and Distribution License
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * (the License). You may not use this file except in
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * compliance with the License.
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * You can obtain a copy of the License at
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * https://opensso.dev.java.net/public/CDDLv1.0.html or
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * See the License for the specific language governing
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington * permission and limitations under the License.
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Luna * When distributing Covered Code, include this CDDL
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Luna * Header Notice in each file and include the License file
b1b9ed659b5ba78c15d544b1a76134a6eba06a55David Luna * If applicable, add the following below the CDDL Header,
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Luna * with the fields enclosed by brackets [] replaced by
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Luna * your own identifying information:
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Luna * "Portions Copyrighted [year] [name of copyright owner]"
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Luna * $Id: WSSPolicyManager.java,v 1.2 2009/12/19 00:09:41 asyhuang Exp $
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Lunaimport com.sun.identity.wsfederation.jaxb.wspolicy.PolicyElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wspolicy.ExactlyOneElement;
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Lunaimport com.sun.identity.wsfederation.jaxb.wspolicy.AllElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.AsymmetricBindingElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.SymmetricBindingElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.InitiatorTokenElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.RecipientTokenElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.X509TokenElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.UsernameTokenElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.SamlTokenElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.WssX509V3Token10Element;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.WssUsernameToken10Element;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.WssSamlV20Token11Element;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.WssSamlV11Token11Element;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.AlgorithmSuiteElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.Basic128Element;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.Basic192Element;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.Basic256Element;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.TripleDesElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.LayoutElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.ProtectionTokenElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.KerberosTokenElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.SignedPartsElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.EncryptedPartsElement;
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.HeaderType;
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.IssuedTokenElement;
c4329510051cce0c6b3efc1fae122ec4c5d61efaDavid Lunaimport com.sun.identity.wsfederation.jaxb.wsaddr.EndpointReferenceElement;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsaddr.AttributedURIType;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wsfederation.jaxb.wsspolicy.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wss.provider.ProviderConfig;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wss.security.SecurityMechanism;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wss.security.WSSConstants;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Lunaimport com.sun.identity.wss.sts.config.STSRemoteConfig;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * The <code>WSSPolicyManager</code> class manages the WS-Security policy
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * configuration and is used to convert from <code>ProviderConfig</code> to
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * WS-Security Policy and vice versa.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna private static final String INCLUDE_TOKEN_ALWAYS_TO_RECIPIENT =
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/" +
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna private static com.sun.identity.wsfederation.jaxb.wspolicy.ObjectFactory
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna new com.sun.identity.wsfederation.jaxb.wspolicy.ObjectFactory();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna private static com.sun.identity.wsfederation.jaxb.wsspolicy.ObjectFactory
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna new com.sun.identity.wsfederation.jaxb.wsspolicy.ObjectFactory();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna private static com.sun.identity.wsfederation.jaxb.wsaddr.ObjectFactory
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna new com.sun.identity.wsfederation.jaxb.wsaddr.ObjectFactory();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna private static WSSPolicyManager wssPolicyManager =
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * Returns the web service end point policy based on the provider
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * configuration.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @param providerConfig the provider configuration for a given provider
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * configuration.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @return the XML String representation of ws-security policy.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna public String getPolicy(ProviderConfig providerConfig)
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna PolicyElement policyElement = wsPolicyFactory.createPolicyElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna //TODO - Need to add a config in the WSP config and then create the
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna // issued token policy.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna boolean useIssuedTokenPolicy = false;
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna List <String> securityMech = providerConfig.getSecurityMechanisms();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna if(securityMech == null || securityMech.isEmpty()) {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna "Security mechanism not configured");
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna for (Iterator iter = securityMech.iterator(); iter.hasNext();) {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna AllElement allElement = wsPolicyFactory.createAllElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna if(SecurityMechanism.WSS_NULL_KERBEROS_TOKEN_URI.equals(
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createSymmetricBindingElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(pte);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna RecipientTokenElement rte = createRecipientTokenElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(rte);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(ase);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createIncludeTimestampElement());
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna allElement.getPolicyOrAllOrExactlyOne().add(sbe);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createAsymmetricBindingElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna IssuedTokenElement ite = createIssuedTokenElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(ite);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna RecipientTokenElement rte = createRecipientTokenElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(rte);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(ase);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createIncludeTimestampElement());
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna allElement.getPolicyOrAllOrExactlyOne().add(abe);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna exactlyOneElement.getPolicyOrAllOrExactlyOne().add(
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createAsymmetricBindingElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(ite);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna RecipientTokenElement rte = createRecipientTokenElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(rte);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(ase);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createIncludeTimestampElement());
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna allElement.getPolicyOrAllOrExactlyOne().add(abe);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna exactlyOneElement.getPolicyOrAllOrExactlyOne().add(allElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement.getPolicyOrAllOrExactlyOne().add(exactlyOneElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna return WSSPolicyUtils.convertJAXBToString(policyElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna WSSUtils.debug.error("WSSPolicyManager.getPolicy:" +
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * Returns the input policy for the given web service provider
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * configuration.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @param providerConfig the provider configuration of a
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * web service provider.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @return the XML String representation for the web service provider
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * input policy.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @throws com.sun.identity.wss.policy.WSSPolicyException
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna public String getInputPolicy(ProviderConfig providerConfig)
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna PolicyElement policyElement = wsPolicyFactory.createPolicyElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna AllElement allElement = wsPolicyFactory.createAllElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement.getPolicyOrAllOrExactlyOne().add(exactlyOneElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna signedParts.setBody(wssPolicyFactory.createEmptyType());
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna allElement.getPolicyOrAllOrExactlyOne().add(signedParts);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna providerConfig.isRequestHeaderEncryptEnabled()) {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna encryptedParts.setBody(wssPolicyFactory.createEmptyType());
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna if(providerConfig.isRequestHeaderEncryptEnabled()) {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna allElement.getPolicyOrAllOrExactlyOne().add(encryptedParts);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna exactlyOneElement.getPolicyOrAllOrExactlyOne().add(allElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna return WSSPolicyUtils.convertJAXBToString(policyElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna WSSUtils.debug.error("WSSPolicyManager.getInputPolicy: " +
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna "JAXB Exception ");
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * Returns the output policy for the given web service provider
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * configuration.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @param providerConfig the provider configuration of a web service
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @return the XML String representation of ws-security policy for the
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * web service provider.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @throws com.sun.identity.wss.policy.WSSPolicyException
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna public String getOutputPolicy(ProviderConfig providerConfig)
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna PolicyElement policyElement = wsPolicyFactory.createPolicyElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna AllElement allElement = wsPolicyFactory.createAllElement();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement.getPolicyOrAllOrExactlyOne().add(exactlyOneElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna signedParts.setBody(wssPolicyFactory.createEmptyType());
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna allElement.getPolicyOrAllOrExactlyOne().add(signedParts);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna encryptedParts.setBody(wssPolicyFactory.createEmptyType());
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna allElement.getPolicyOrAllOrExactlyOne().add(encryptedParts);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna exactlyOneElement.getPolicyOrAllOrExactlyOne().add(allElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna return WSSPolicyUtils.convertJAXBToString(policyElement);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna WSSUtils.debug.error("WSSPolicyManager.geOutputPolicy: " +
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna "JAXB Exception ");
b1b9ed659b5ba78c15d544b1a76134a6eba06a55David Luna * Returns the STS end point policy
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @return the XML String representation of ws-security policy for the
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * STS service.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @throws WSSPolicyException
b1b9ed659b5ba78c15d544b1a76134a6eba06a55David Luna * Returns the input policy for the STS service
b1b9ed659b5ba78c15d544b1a76134a6eba06a55David Luna * @return the XML String representation of ws-security policy for the
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * STS service.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @throws com.sun.identity.wss.policy.WSSPolicyException
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna public String getSTSInputPolicy() throws WSSPolicyException {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * Returns the output policy for the STS service
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @return the XML String representation of ws-security policy for the
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * STS service.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna * @throws com.sun.identity.wss.policy.WSSPolicyException
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna public String getSTSOutputPolicy() throws WSSPolicyException {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna private InitiatorTokenElement createInitiatorTokenElement(
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna if(SecurityMechanism.WSS_NULL_X509_TOKEN_URI.equals(secMech)) {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna x509Token.setIncludeToken(INCLUDE_TOKEN_ALWAYS_TO_RECIPIENT);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna policyElement1.getPolicyOrAllOrExactlyOne().add(x509Token);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createWssX509V3Token10Element();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna } else if(SecurityMechanism.WSS_NULL_USERNAME_TOKEN_URI.
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna userNameTokenElement.getAny().add(policyElement2);
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createWssUsernameToken10Element();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna } else if(SecurityMechanism.WSS_NULL_SAML2_HK_URI.equals(secMech)||
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna SecurityMechanism.WSS_NULL_SAML2_SV_URI.equals(secMech)) {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createWssSamlV20Token11Element();
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna } else if(SecurityMechanism.WSS_NULL_SAML_HK_URI.equals(secMech)||
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna SecurityMechanism.WSS_NULL_SAML_SV_URI.equals(secMech)) {
b4bc0f6f0effcc65edf83eec1e8747d5fce55752David Luna wssPolicyFactory.createWssSamlV11Token11Element();
return ite;
throws WSSPolicyException {
return rte;
return null;
return ase;
return le;
return protectionElement;
throws WSSPolicyException {
return issuedTokenElement;
return pc;