All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.identity.saml2.common.SAML2Constants Maven / Gradle / Ivy

There is a newer version: 14.8.4
Show newest version
/*
 * 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-2016 ForgeRock AS.
 */
package com.sun.identity.saml2.common;

import com.sun.identity.cot.COTConstants;

/**
 * This interface defines constants common to all SAMLv2 elements.
 *
 * 
 */
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="




© 2015 - 2024 Weber Informatics LLC | Privacy Policy