FAMTrustSPMetadata.java revision 4a2f0f0be43dfd4c1b490cbf3cc48b6ba6084b1c
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * opensso/legal/CDDLv1.0.txt
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * at opensso/legal/CDDLv1.0.txt.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: FAMTrustSPMetadata.java,v 1.10 2008/09/08 21:50:16 mallas Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.wss.sts.config;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.xml.ws.api.security.trust.config.TrustSPMetadata;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.provider.ProviderConfig;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.provider.ProviderException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.sts.STSConstants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.shared.debug.Debug;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.shared.Constants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.common.SystemConfigurationUtil;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.sts.STSUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.security.SecurityMechanism;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.security.WSSUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.security.WSSConstants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.AMIdentity;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.AMIdentityRepository;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.IdRepoException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.IdSearchControl;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.IdSearchOpModifier;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.IdSearchResults;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.IdType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.IdUtils;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.iplanet.sso.SSOToken;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.HashMap;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Map;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.List;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.ArrayList;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.HashMap;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.HashSet;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Iterator;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Map;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.Set;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport java.util.StringTokenizer;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic class FAMTrustSPMetadata implements TrustSPMetadata {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Initialize the Attributes names set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static Set attrNames = new HashSet();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String endpoint;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String spName;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String tokenType = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String keyType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private String certAlias;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private Map<String, Object> otherOptions = new HashMap<String, Object>();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static Debug debug = STSUtils.debug;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private List secMech = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String AGENT_TYPE_ATTR = "AgentType";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String WSP_ENDPOINT = "WSPEndpoint";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String NAME = "Name";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String SEC_MECH = "SecurityMech";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String KEY_ALIAS = "privateKeyAlias";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String KEY_TYPE = "privateKeyType";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster static {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrNames.add(SEC_MECH);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrNames.add(WSP_ENDPOINT);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrNames.add(KEY_ALIAS);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster attrNames.add(KEY_TYPE);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /** Creates a new instance of FAMTrustSPMetedata */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public FAMTrustSPMetadata(String spEndPoint) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.endpoint = spEndPoint;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster getAndProcessWSPKeyValues(spEndPoint);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster //this.certAlias =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // SystemConfigurationUtil.getProperty(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Constants.SAML_XMLSIG_CERT_ALIAS);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getSPEndPoint(){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return this.endpoint;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setCertAlias(final String certAlias){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.certAlias = certAlias;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getCertAlias(){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return this.certAlias;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setTokenType(final String tokenType){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.tokenType = tokenType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getTokenType(){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return this.tokenType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setKeyType(final String keyType){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.keyType = keyType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public String getKeyType(){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return this.keyType;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public Map<String, Object> getOtherOptions(){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return this.otherOptions;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Get WSP configuration and process Key/Value pairs.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void getAndProcessWSPKeyValues(String providerEndPoint) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Set agentConfigAttribute = new HashSet();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Obtain the provider configuration from Agent profile
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster try {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SSOToken adminToken = WSSUtils.getAdminToken();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster AMIdentityRepository idRepo =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster new AMIdentityRepository(adminToken, "/");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster IdSearchControl control = new IdSearchControl();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster control.setAllReturnAttributes(true);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster control.setTimeOut(0);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Map kvPairMap = new HashMap();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Set set = new HashSet();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster set.add(ProviderConfig.WSP);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster kvPairMap.put(AGENT_TYPE_ATTR, set);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster set = new HashSet();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster set.add(providerEndPoint);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster kvPairMap.put(WSP_ENDPOINT, set);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster control.setSearchModifiers(IdSearchOpModifier.OR, kvPairMap);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster IdSearchResults results = idRepo.searchIdentities(IdType.AGENTONLY,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster "*", control);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Set agents = results.getSearchResults();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (!agents.isEmpty()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Map attrs = (Map) results.getResultAttributes();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster AMIdentity provider = (AMIdentity) agents.iterator().next();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Map attributes = (Map) provider.getAttributes(attrNames);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if(debug.messageEnabled()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster debug.message("FAMTrustSPMetadata.getAndProcessWSPKeyValues:"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster + " SP Attributes: " + attributes);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster parseAgentKeyValues(attributes);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } catch (Exception e) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster debug.error("FAMTrustSPMetadata.getAndProcessWSPKeyValues:ERROR: "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster , e);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void parseAgentKeyValues(Map attributes) throws ProviderException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if(attributes == null || attributes.isEmpty()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for (Iterator i = attributes.keySet().iterator(); i.hasNext(); ) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String key = (String)i.next();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Set valSet = (Set)attributes.get(key);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String value = null;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ((valSet != null) && (valSet.size() > 0)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Iterator iter = valSet.iterator();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster StringBuffer sb = new StringBuffer(100);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster while(iter.hasNext()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb.append((String)iter.next()).append(",");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster sb = sb.deleteCharAt(sb.length() - 1);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster value = sb.toString();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster setConfig(key, value);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void setConfig(String attr, String value) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if(attr.equals(NAME)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster this.spName = value;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster } else if(attr.equals(SEC_MECH)) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ( (value != null) && (value.length() != 0) ) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if (secMech == null) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster secMech = new ArrayList();
}
StringTokenizer st = new StringTokenizer(value, ",");
while(st.hasMoreTokens()) {
secMech.add(st.nextToken());
}
if (secMech != null) {
if( (secMech.contains(SecurityMechanism.WSS_NULL_SAML2_HK_URI)) ||
(secMech.contains(SecurityMechanism.WSS_TLS_SAML2_HK_URI)) ||
(secMech.contains(SecurityMechanism.WSS_CLIENT_TLS_SAML2_HK_URI)) ||
(secMech.contains(SecurityMechanism.WSS_NULL_SAML2_SV_URI)) ||
(secMech.contains(SecurityMechanism.WSS_TLS_SAML2_SV_URI)) ||
(secMech.contains(SecurityMechanism.WSS_CLIENT_TLS_SAML2_SV_URI))) {
this.tokenType = STSConstants.SAML20_ASSERTION_TOKEN_TYPE;
} else if( (secMech.contains(SecurityMechanism.WSS_NULL_SAML_HK_URI)) ||
(secMech.contains(SecurityMechanism.WSS_TLS_SAML_HK_URI)) ||
(secMech.contains(SecurityMechanism.WSS_CLIENT_TLS_SAML_HK_URI)) ||
(secMech.contains(SecurityMechanism.WSS_NULL_SAML_SV_URI)) ||
(secMech.contains(SecurityMechanism.WSS_TLS_SAML_SV_URI)) ||
(secMech.contains(SecurityMechanism.WSS_CLIENT_TLS_SAML_SV_URI))) {
this.tokenType = STSConstants.SAML11_ASSERTION_TOKEN_TYPE;
} else if( (secMech.contains(
SecurityMechanism.WSS_NULL_USERNAME_TOKEN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_TLS_USERNAME_TOKEN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_CLIENT_TLS_USERNAME_TOKEN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_NULL_USERNAME_TOKEN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_TLS_USERNAME_TOKEN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_CLIENT_TLS_USERNAME_TOKEN_URI))) {
this.tokenType = WSSConstants.PASSWORD_DIGEST_TYPE;
} else if( (secMech.contains(
SecurityMechanism.WSS_NULL_USERNAME_TOKEN_PLAIN_URI))||
(secMech.contains(
SecurityMechanism.WSS_TLS_USERNAME_TOKEN_PLAIN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_CLIENT_TLS_USERNAME_TOKEN_PLAIN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_NULL_USERNAME_TOKEN_PLAIN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_TLS_USERNAME_TOKEN_PLAIN_URI)) ||
(secMech.contains(
SecurityMechanism.WSS_CLIENT_TLS_USERNAME_TOKEN_PLAIN_URI))) {
this.tokenType = WSSConstants.PASSWORD_PLAIN_TYPE;
} else {
this.tokenType = value;
}
}
}
} else if(attr.equals(KEY_ALIAS)) {
this.certAlias = value;
} else if(attr.equals(KEY_TYPE)) {
if ( value == null || value.length() == 0 ) {
this.keyType = STSConstants.WST13_PUBLIC_KEY;
} else {
this.keyType = STSConstants.WST13_NAMESPACE + "/" + value;
}
}
}
}