FAMTrustSPMetadata.java revision 4a2f0f0be43dfd4c1b490cbf3cc48b6ba6084b1c
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
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 * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
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 * $Id: FAMTrustSPMetadata.java,v 1.10 2008/09/08 21:50:16 mallas Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.xml.ws.api.security.trust.config.TrustSPMetadata;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.provider.ProviderConfig;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.provider.ProviderException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.common.SystemConfigurationUtil;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.security.SecurityMechanism;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.wss.security.WSSConstants;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.idm.AMIdentityRepository;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic class FAMTrustSPMetadata implements TrustSPMetadata {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Initialize the Attributes names set
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private Map<String, Object> otherOptions = new HashMap<String, Object>();
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 SEC_MECH = "SecurityMech";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String KEY_ALIAS = "privateKeyAlias";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static final String KEY_TYPE = "privateKeyType";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /** Creates a new instance of FAMTrustSPMetedata */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster //this.certAlias =
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // SystemConfigurationUtil.getProperty(
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Constants.SAML_XMLSIG_CERT_ALIAS);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setCertAlias(final String certAlias){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void setTokenType(final String tokenType){
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Get WSP configuration and process Key/Value pairs.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void getAndProcessWSPKeyValues(String providerEndPoint) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster // Obtain the provider configuration from Agent profile
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster SSOToken adminToken = WSSUtils.getAdminToken();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster IdSearchControl control = new IdSearchControl();
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster control.setSearchModifiers(IdSearchOpModifier.OR, kvPairMap);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster IdSearchResults results = idRepo.searchIdentities(IdType.AGENTONLY,
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 debug.message("FAMTrustSPMetadata.getAndProcessWSPKeyValues:"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster debug.error("FAMTrustSPMetadata.getAndProcessWSPKeyValues:ERROR: "
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void parseAgentKeyValues(Map attributes) throws ProviderException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if(attributes == null || attributes.isEmpty()) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster for (Iterator i = attributes.keySet().iterator(); i.hasNext(); ) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private void setConfig(String attr, String value) {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster if ( (value != null) && (value.length() != 0) ) {