/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved * * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the License). You may not use this file except in * compliance with the License. * * You can obtain a copy of the License at * https://opensso.dev.java.net/public/CDDLv1.0.html or * opensso/legal/CDDLv1.0.txt * See the License for the specific language governing * permission and limitations under the License. * * When distributing Covered Code, include this CDDL * Header Notice in each file and include the License file * at opensso/legal/CDDLv1.0.txt. * If applicable, add the following below the CDDL Header, * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * * $Id: SAML2Constants.java,v 1.44 2009/11/24 21:53:02 madan_ranganath Exp $ * * Portions Copyrighted 2010-2015 ForgeRock AS. */ package com.sun.identity.saml2.common; import com.sun.identity.cot.COTConstants; /** * This interface defines constants common to all SAMLv2 elements. * * @supported.all.api */ public interface SAML2Constants { /** * XML name space URI */ public String NS_XML = "http://www.w3.org/2000/xmlns/"; /** * String used to declare SAMLv2 assertion namespace prefix. */ public String ASSERTION_PREFIX = "saml:"; /** * String used to declare SAMLv2 assertion namespace. */ public String ASSERTION_DECLARE_STR = " xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\""; /** * SAMLv2 assertion namespace URI. */ public String ASSERTION_NAMESPACE_URI = "urn:oasis:names:tc:SAML:2.0:assertion"; /** * Default namespace attribute for Action. */ public String ACTION_NAMESPACE_NEGATION = "urn:oasis:names:tc:SAML:1.0:action:rwedc-negation"; /** * String used to declare SAMLv2 protocol namespace prefix. */ public String PROTOCOL_PREFIX = "samlp:"; /** * String used to declare SAMLv2 protocol namespace. */ public String PROTOCOL_NAMESPACE = "urn:oasis:names:tc:SAML:2.0:protocol"; /** * String used to declare SAMLv2 protocol namespace. */ public String PROTOCOL_DECLARE_STR = " xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\""; /** * String used to represent HTTP Redirect Binding. */ public String HTTP_REDIRECT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"; /** * String used to represent SOAP Binding. */ public String SOAP = "urn:oasis:names:tc:SAML:2.0:bindings:SOAP"; /** * String used to represent PAOS Binding. */ public static final String PAOS = "urn:oasis:names:tc:SAML:2.0:bindings:PAOS"; /** * String used to represent HTTP POST Binding. */ public String HTTP_POST = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"; /** * String used to represent HTTP ARTIFACT Binding. */ public String HTTP_ARTIFACT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"; /** * String used to represent URI Binding. */ public String URI = "urn:oasis:names:tc:SAML:2.0:bindings:URI"; /** * String to represent Name Identifier Format name space */ public String NAMEID_FORMAT_NAMESPACE= "urn:oasis:names:tc:SAML:2.0:nameid-format:"; /** * String to represent Name Identifier Format name space * version 1.1 */ public static final String NAMEID_FORMAT_NAMESPACE_V_1_1= "urn:oasis:names:tc:SAML:1.1:nameid-format:"; /** * String to represent Encrypted Format Name Identifier */ public String ENCRYPTED = NAMEID_FORMAT_NAMESPACE + "encrypted"; /** * String to represent Persitent Name Identifier */ public String PERSISTENT = NAMEID_FORMAT_NAMESPACE + "persistent"; /** * String to represent Unspecified Name Identifier */ public String UNSPECIFIED = NAMEID_FORMAT_NAMESPACE_V_1_1 + "unspecified"; /** * String to represent Email Address Name Identifier */ public String EMAIL_ADDRESS = NAMEID_FORMAT_NAMESPACE_V_1_1 + "emailAddress"; /** * String to represent Entity Name Identifier */ public String ENTITY = NAMEID_FORMAT_NAMESPACE + "entity"; /** * String to represent X509 Subejct Name Identifier */ public String X509_SUBJECT_NAME = NAMEID_FORMAT_NAMESPACE_V_1_1 + "X509SubjectName"; /** * String to represent Windows Domain Qualified Name Identifier */ public String WINDOWS_DOMAIN_QUALIFIED_NAME = NAMEID_FORMAT_NAMESPACE_V_1_1 + "WindowsDomainQualifiedName"; /** * String to represent Kerberos Principal Name Identifier */ public String KERBEROS_PRINCIPAL_NAME = NAMEID_FORMAT_NAMESPACE + "kerberos"; /** * String to represent the authentication service url */ public String AUTH_URL = "AuthUrl"; /** * Used when the SAML endpoints are RP'd to a non-server/site URL, typically * to DAS */ public String RP_URL = "RpUrl"; /** * Strings represent primitive top-level StatusCode values */ public String SUCCESS = "urn:oasis:names:tc:SAML:2.0:status:Success"; public String REQUESTER = "urn:oasis:names:tc:SAML:2.0:status:Requester"; public String RESPONDER = "urn:oasis:names:tc:SAML:2.0:status:Responder"; public String NOPASSIVE = "urn:oasis:names:tc:SAML:2.0:status:NoPassive"; public String VERSION_MISMATCH = "urn:oasis:names:tc:SAML:2.0:status:VersionMismatch"; public String UNKNOWN_PRINCIPAL = "urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal"; public String AUTHN_FAILED = "urn:oasis:names:tc:SAML:2.0:status:AuthnFailed"; public String INVALID_ATTR_NAME_OR_VALUE = "urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue"; public String INVALID_NAME_ID_POLICY = "urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy"; public String NO_AUTHN_CONTEXT = "urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext"; /** * Basic name format */ public String BASIC_NAME_FORMAT = "urn:oasis:names:tc:SAML:2.0:attrname-format:basic"; /** * Basic attribute profile */ public String BASIC_ATTRIBUTE_PROFILE = "urn:oasis:names:tc:SAML:2.0:profiles:attribute:basic"; /** * Attribute Query default profile */ public static final String DEFAULT_ATTR_QUERY_PROFILE = "urn:oasis:names:tc:SAML:2.0:profiles:query"; /** * Attribute Query x509 Subject profile */ public static final String X509_SUBJECT_ATTR_QUERY_PROFILE = "urn:oasis:names:tc:SAML:2.0:profiles:query:attribute:X509"; /** * Attribute Query default profile alias */ public static final String DEFAULT_ATTR_QUERY_PROFILE_ALIAS = "default"; /** * Attribute Query x509 Subject profile alias */ public static final String X509_SUBJECT_ATTR_QUERY_PROFILE_ALIAS = "x509Subject"; /** * Strings represent subject confirmation methods */ public String SUBJECT_CONFIRMATION_METHOD_BEARER = "urn:oasis:names:tc:SAML:2.0:cm:bearer"; /** * Confirmation method for holder of key */ public String SUBJECT_CONFIRMATION_METHOD_HOLDER_OF_KEY = "urn:oasis:names:tc:SAML:2.0:cm:holder-of-key"; /** * Confirmation method for sender vouches */ public String SUBJECT_CONFIRMATION_METHOD_SENDER_VOUCHES = "urn:oasis:names:tc:SAML:2.0:cm:sender-vouches"; /** * Session Property name indicating if response is redirected or not */ public String RESPONSE_REDIRECTED = "SAML2ResponseRedirected"; /** * Length for SAMLv2 IDs. */ public int ID_LENGTH = 20; /** * SAMLv2 Version String */ public String VERSION_2_0 = "2.0"; /** * SAMLRequest query parameter name */ public String SAML_REQUEST = "SAMLRequest"; /** * SAMLResponse query parameter name */ public String SAML_RESPONSE = "SAMLResponse"; /** * Maximum value of unsigned integer/short type. */ public int MAX_INT_VALUE=65535; /** * Start Tag for XML String */ public String START_TAG="<"; /** * End Tag for XML String */ public String END_TAG =">"; /** * Constant for space */ public String SPACE=" "; /** * Constant for equal */ public String EQUAL= "="; /** * Constant for quote */ public String QUOTE = "\""; /** * Constant for newline */ public String NEWLINE= "\n"; /** * Constant for xml name space */ public String NAMESPACE_PREFIX="xmlns"; /** * Constant for SAML2 end tag */ public String SAML2_END_TAG="DELIMITER contained in the values // of multi-valued property set in SSO token public String ESCAPE_DELIMITER = "|"; /** * Namespace declaration for XML Encryption */ public String NS_XMLENC = "http://www.w3.org/2001/04/xmlenc#"; /** * Namespace declaration for XML Digital Signature */ public String NS_XMLSIG = "http://www.w3.org/2000/09/xmldsig#"; /** * Want XACML Authorization Decision Query Signed. */ String WANT_XACML_AUTHZ_DECISION_QUERY_SIGNED = "wantXACMLAuthzDecisionQuerySigned"; /** * Want Authorization Decision Response Signed. */ String WANT_XACML_AUTHZ_DECISION_RESPONSED_SIGNED = "wantXACMLAuthzDecisionResponseSigned"; /** * Generate Discovery Bootstrapping */ public String DISCO_BOOTSTRAPPING_ENABLED = "discoveryBootstrappingEnabled"; /** * Constant for Response Artifact message encoding property */ public String RESPONSE_ARTIFACT_MESSAGE_ENCODING = "responseArtifactMessageEncoding"; /** * URI encoding */ public String URI_ENCODING = "URI"; /** * FORM encoding */ public String FORM_ENCODING = "FORM"; /** * Cache Assertion */ public String ASSERTION_CACHE_ENABLED = "assertionCacheEnabled"; /** * Attribute name format for ID-WSF 1.1 Discovery bootstrap */ public String DISCOVERY_BOOTSTRAP_ATTRIBUTE_NAME_FORMAT = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"; /** * Attribute name for ID-WSF 1.1 Discovery bootstrap */ public String DISCOVERY_BOOTSTRAP_ATTRIBUTE_NAME = "urn:liberty:disco:2003-08:DiscoveryResourceOffering"; /** * Constant for Discovery bootstrap credentials SSO token * property */ public String DISCOVERY_BOOTSTRAP_CREDENTIALS = "DiscoveryBootstrapCrendentials"; /** * XML Schema Instance namespace URI */ public String NS_XSI = "http://www.w3.org/2001/XMLSchema-instance"; /** * String used to declare XML Schema Instance namespace. */ public String XSI_DECLARE_STR = "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""; /** * List of SAE appliation name to encrypted secret mapping. */ public String SAE_APP_SECRET_LIST = "saeAppSecretList"; /** * List of valid Relay State Urls */ public String RELAY_STATE_URL_LIST = "relayStateUrlList"; /** * IDP SAE endpoint url. */ public String SAE_IDP_URL = "saeIDPUrl"; /** * SP SAE endpoint url. */ public String SAE_SP_URL = "saeSPUrl"; /** * SP SAE logout url. */ public String SAE_SP_LOGOUT_URL = "saeSPLogoutUrl"; /** * SAE : Extended meta param : SPApp url */ public String SAE_XMETA_URL = "url"; /** * SAE : Extended meta param : shared secret for symmetric crypto */ public String SAE_XMETA_SECRET = "secret"; /** * SAE : Derived from SAML2 meta */ public String SAE_XMETA_PKEY_ALIAS = "privatekeyalias"; /** * HTTP parameters that will be passed to SAE auth modules. */ public String SAE_REALM = "realm"; public String SAE_IDP_ENTITYID = "idpEntityID"; public String SAE_IDPAPP_URL = "idpAppUrl"; /** * Enable IDP Proxy */ public String ENABLE_IDP_PROXY = "enableIDPProxy"; /** * Always proxy the Authn Request */ public String ALWAYS_IDP_PROXY = "alwaysIdpProxy"; /** *IDP Proxy Name List */ public String IDP_PROXY_LIST = "idpProxyList"; /** * IDP Proxy Count */ public String IDP_PROXY_COUNT = "idpProxyCount"; /** * Use Introduction for IDP Proxy */ public String USE_INTRODUCTION_FOR_IDP_PROXY = "useIntroductionForIDPProxy"; /** * Idp finder URL */ public String IDP_FINDER_URL ="/idpfinder"; /** * IDP Proxy finder name */ public String IDP_PROXY_FINDER_NAME = "com.sun.identity.saml2.idpproxy"; /** * Default class name of IDP Proxy finder */ public String DEFAULT_IDP_PROXY_FINDER = "com.sun.identity.saml2.plugins.SAML2IDPProxyImpl"; /** * IDP Proxy finder attribute name in the IDP Extended metadata */ public String IDP_PROXY_FINDER_ATTR_NAME = "idpProxyFinder"; /** * IDP Proxy finder implmentation classe attribute name * in the IDP Extended metadata */ public static final String PROXY_IDP_FINDER_CLASS = "proxyIDPFinderClass"; /** * Flag to indicate if the IdP must enable the IdP Finder * This is the name of the attribute flag in the IDP Extended metadata */ public static final String ENABLE_PROXY_IDP_FINDER_FOR_ALL_SPS = "enableProxyIDPFinderForAllSPs"; /** * Attribute Name in the extended metadata that takes the value of * the JSP that will present the list of IdPs to the user */ public static final String PROXY_IDP_FINDER_JSP = "proxyIDPFinderJSP"; /** * Default IDP Proxy Finder JSP */ public static final String DEFAULT_PROXY_IDP_FINDER = "proxyidpfinder.jsp"; /** * IDP Adapter class attribute name */ public static final String IDP_ADAPTER_CLASS = "idpAdapter"; /** * Default IDP Adapter class */ public static final String DEFAULT_IDP_ADAPTER = "com.sun.identity.saml2.plugins.DefaultIDPAdapter"; /** * Key used to save IDP Session in a map */ public String IDP_SESSION = "IDPSESSION"; /** * Key used to save session partners in a map */ public String PARTNERS = "PARTNERS"; /** * String used to declare ECP namespace prefix. */ public static final String ECP_PREFIX = "ecp:"; /** * ECP namespace URI. */ public static final String ECP_NAMESPACE = "urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp"; /** * String used to declare ECP namespace. */ public static final String ECP_DECLARE_STR = "xmlns:ecp=\"urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp\""; /** * Constant for ECP end tag */ public static final String ECP_END_TAG="