Class SAMLMetaDataMessageParser
- java.lang.Object
-
- org.certificateservices.messages.saml2.BaseSAMLMessageParser
-
- org.certificateservices.messages.saml2.metadata.SAMLMetaDataMessageParser
-
public class SAMLMetaDataMessageParser extends BaseSAMLMessageParser
SAML Meta Data Message Parser for generating EntitiesDescriptor and EntityDescriptor.The parser will sign the root element only of generated documents, and assume only root element is signed when verifying signatures.
- See Also:
- https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf Created by philip on 02/01/17.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSAMLMetaDataMessageParser.SAML2MetaDataSignatureLocationFinder-
Nested classes/interfaces inherited from class org.certificateservices.messages.saml2.BaseSAMLMessageParser
BaseSAMLMessageParser.AssertionSignatureLocationFinder, BaseSAMLMessageParser.BaseLSResourceResolver, BaseSAMLMessageParser.ConditionLookup, BaseSAMLMessageParser.EncryptedAttributeXMLConverter, BaseSAMLMessageParser.SAMLPSignatureLocationFinder, BaseSAMLMessageParser.SimpleConditionLookup
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringMETADATA_XSD_SCHEMA_2_0_RESOURCE_LOCATIONstatic java.lang.StringNAMESPACE-
Fields inherited from class org.certificateservices.messages.saml2.BaseSAMLMessageParser
ASSERTION_NAMESPACE, ASSERTION_XSD_SCHEMA_2_0_RESOURCE_LOCATION, assertionSignatureLocationFinder, cf, customisations, customJAXBClasspath, customSchemaLocations, DEFAULT_SAML_VERSION, dsigOf, messageSecurityProvider, of, PROTOCOL_NAMESPACE, SAMLP_XSD_SCHEMA_2_0_RESOURCE_LOCATION, samlpOf, samlpSignatureLocationFinder, schemaValidator, SETTING_CUSTOM_JAXBCLASSPATH, SETTING_CUSTOM_SCHEMALOCATIONS, systemTime, xmlEncrypter, xmlSigner
-
-
Constructor Summary
Constructors Constructor Description SAMLMetaDataMessageParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeConsumingServiceTypegenAttributeConsumingService(int index, java.lang.Boolean isDefault, java.util.List<LocalizedNameType> serviceNames, java.util.List<LocalizedNameType> serviceDescriptions, java.util.List<RequestedAttributeType> requestedAttributes)The AttributeConsumingService element defines a particular service offered by the service provider in terms of the attributes the service requires or desires.ContactTypegenContactType(ContactTypeType contactType, ExtensionsType extensions, java.lang.String company, java.lang.String givenName, java.lang.String surName, java.util.List<java.lang.String> emailAddresses, java.util.List<java.lang.String> telephoneNumbers, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)The ContactPerson element specifies basic contact information about a person responsible in some capacity for a SAML entity or role.EndpointTypegenEndpoint(java.lang.String binding, java.lang.String location, java.lang.String responseLocation, java.util.List<java.lang.Object> anyXML, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)The complex type EndpointType describes a SAML protocol binding endpoint at which a SAML entity can be sent protocol messages.EntitiesDescriptorTypegenEntitiesDescriptor(java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.lang.String name, ExtensionsType extensions, java.util.List<java.lang.Object> entityDescriptors)The EntitiesDescriptor element contains the metadata for an optionally named group of SAML entities.byte[]genEntitiesDescriptor(ContextMessageSecurityProvider.Context context, java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.lang.String name, ExtensionsType extensions, java.util.List<java.lang.Object> entityDescriptors, boolean sign)The EntitiesDescriptor element contains the metadata for an optionally named group of SAML entities.EntityDescriptorTypegenEntityDescriptor(java.lang.String entityID, java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, ExtensionsType extensions, java.util.List<java.lang.Object> descriptors, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.List<AdditionalMetadataLocationType> additionalMetadataLocations, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)Theelement specifies metadata for a single SAML entity. byte[]genEntityDescriptor(ContextMessageSecurityProvider.Context context, java.lang.String entityID, java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, ExtensionsType extensions, java.util.List<java.lang.Object> descriptors, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.List<AdditionalMetadataLocationType> additionalMetadataLocations, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes, boolean sign)Theelement specifies metadata for a single SAML entity. ExtensionsTypegenExtensions(java.util.List<java.lang.Object> extentionObjects)Help method to generate a extensions type to be used withIDPSSODescriptorTypegenIDPSSODescriptor(java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.util.List<java.lang.String> protocolSupportEnumeration, java.lang.String errorURL, ExtensionsType extensions, java.util.List<KeyDescriptorType> keyDescriptorTypes, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes, java.util.List<IndexedEndpointType> artifactResolutionService, java.util.List<EndpointType> singleLogoutService, java.util.List<EndpointType> manageNameIDService, java.util.List<java.lang.String> nameIDFormat, java.lang.Boolean wantAuthnRequestsSigned, java.util.List<EndpointType> singleSignOnServices, java.util.List<EndpointType> nameIDMappingServices, java.util.List<EndpointType> assertionIDRequestServices, java.util.List<java.lang.String> attributeProfiles, java.util.List<AttributeType> attributes)The IDPSSODescriptor element extends SSODescriptorType with content reflecting profiles specific to identity providers supporting SSOIndexedEndpointTypegenIndexedEndpoint(java.lang.String binding, java.lang.String location, java.lang.String responseLocation, int index, java.lang.Boolean isDefault, java.util.List<java.lang.Object> anyXML, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)The complex type EndpointType describes a SAML protocol binding endpoint at which a SAML entity can be sent protocol messages.KeyDescriptorTypegenKeyDescriptor(KeyTypes use, java.security.cert.X509Certificate certificate, java.util.List<EncryptionMethodType> encryptionMethods)Thel method to create a KeyDescriptorType from a certificate.KeyDescriptorTypegenKeyDescriptor(KeyTypes use, KeyInfoType keyInfo, java.util.List<EncryptionMethodType> encryptionMethods)The element provides information about the cryptographic key(s) that an entity uses to sign data or receive encrypted keys, along with additional cryptographic details.javax.xml.bind.JAXBElement<EntityAttributesType>genMDEntityAttributes(java.util.List<java.lang.Object> attributeOrAssertion)Help method to generate MD Entity Attribute used as an extension in EntityIdOrganizationTypegenOrganization(ExtensionsType extensions, java.util.List<LocalizedNameType> organizationName, java.util.List<LocalizedNameType> organizationDisplayName, java.util.List<LocalizedURIType> organizationURL, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)The Organization element specifies basic information about an organization responsible for a SAML entity or role.SPSSODescriptorTypegenSPSSODescriptor(java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.util.List<java.lang.String> protocolSupportEnumeration, java.lang.String errorURL, ExtensionsType extensions, java.util.List<KeyDescriptorType> keyDescriptorTypes, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes, java.util.List<IndexedEndpointType> artifactResolutionService, java.util.List<EndpointType> singleLogoutService, java.util.List<EndpointType> manageNameIDService, java.util.List<java.lang.String> nameIDFormat, java.lang.Boolean authnRequestsSigned, java.lang.Boolean wantAssertionsSigned, java.util.List<IndexedEndpointType> assertionConsumerServices, java.util.List<AttributeConsumingServiceType> attributeConsumingServices)The IDPSSODescriptor element extends SSODescriptorType with content reflecting profiles specific to identity providers supporting SSOjavax.xml.bind.JAXBElement<LocalizedNameType>genUIDescription(java.lang.String description, java.lang.String lang)Help method to generate a MD UI Description element for the specified language.javax.xml.bind.JAXBElement<DiscoHintsType>genUIDiscoHints(java.util.List<javax.xml.bind.JAXBElement<?>> childElements)Method to generate a MD UI DiscoHints JAXBElement with given child elements.javax.xml.bind.JAXBElement<LocalizedNameType>genUIDisplayName(java.lang.String name, java.lang.String lang)Help method to generate a MD UI DisplayName element for the specified language.javax.xml.bind.JAXBElement<java.lang.String>genUIDomainHint(java.lang.String value)Help method to generate a MD UI Discovery Domain Hint.javax.xml.bind.JAXBElement<java.lang.String>genUIGeolocationHint(java.lang.String value)Help method to generate a MD UI Discovery Geolocation Hint.javax.xml.bind.JAXBElement<UIInfoType>genUIInfo(java.util.List<javax.xml.bind.JAXBElement<?>> childElements)Method to generate a MD UIInfo JAXBElement with given child elements.javax.xml.bind.JAXBElement<LocalizedURIType>genUIInformationURL(java.lang.String url, java.lang.String lang)Help method to generate a MD UI Information URL element for the specified language.javax.xml.bind.JAXBElement<java.lang.String>genUIIPHint(java.lang.String value)Help method to generate a MD UI Discovery IP Hint.javax.xml.bind.JAXBElement<KeywordsType>genUIKeywords(java.util.List<java.lang.String> keywords, java.lang.String lang)Help method to generate a MD UI Info Keywords element for the specified language.javax.xml.bind.JAXBElement<LogoType>genUILogo(int width, int heigth, java.lang.String uri, java.lang.String lang)Help method to generate a MD UI Logo element.javax.xml.bind.JAXBElement<LocalizedURIType>genUIPrivacyStatementURL(java.lang.String url, java.lang.String lang)Help method to generate a MD UI Privacy Statement URL element for the specified language.java.lang.String[]getDefaultSchemaLocations()java.lang.StringgetJAXBPackages()java.lang.StringgetNameSpace()Method that should return the main namespace of the packateXMLSigner.OrganisationLookupgetOrganisationLookup()XMLSigner.SignatureLocationFindergetSignatureLocationFinder()protected voidisSet(java.lang.String value, java.lang.String errorMessage)Method that verifies that a given value is set (i.e not null or empty string) or throws MessageContentException with given error message.protected java.lang.StringlookupSchemaForElement(java.lang.String type, java.lang.String namespaceURI, java.lang.String publicId, java.lang.String systemId, java.lang.String baseURI)Method to find Schema for a specific element related to the custom schema locations.protected voidpopulateEndpointType(EndpointType endpointType, java.lang.String binding, java.lang.String location, java.lang.String responseLocation, java.util.List<java.lang.Object> anyXML, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)Method to populate an endpoint type.protected voidpopulateRoleDescriptor(RoleDescriptorType roleDescriptor, java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.util.List<java.lang.String> protocolSupportEnumeration, java.lang.String errorURL, ExtensionsType extensions, java.util.List<KeyDescriptorType> keyDescriptorTypes, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)Method to populate the base RoleDescriptor type.protected voidpopulateSSODescriptor(SSODescriptorType ssoDescriptorType, java.util.List<IndexedEndpointType> artifactResolutionService, java.util.List<EndpointType> singleLogoutService, java.util.List<EndpointType> manageNameIDService, java.util.List<java.lang.String> nameIDFormat)The SSODescriptorType abstract type is a common base type for the concrete types SPSSODescriptorType and IDPSSODescriptorType.-
Methods inherited from class org.certificateservices.messages.saml2.BaseSAMLMessageParser
decryptAssertion, generateSchema, genFailureMessage, genFailureMessage, genSuccessfulSAMLPResponse, getAssertionFromResponseType, getCertificateFromAssertion, getDocumentBuilder, getJAXBContext, getMarshaller, getUnmarshaller, init, init, marshall, marshallAndSign, marshallAndSignSAMLPOrAssertion, marshallDoc, parseMessage, schemaValidate, unmarshall, unmarshallDoc, verifyAssertionConditions, verifyConditions
-
-
-
-
Field Detail
-
NAMESPACE
public static final java.lang.String NAMESPACE
- See Also:
- Constant Field Values
-
METADATA_XSD_SCHEMA_2_0_RESOURCE_LOCATION
protected static final java.lang.String METADATA_XSD_SCHEMA_2_0_RESOURCE_LOCATION
- See Also:
- Constant Field Values
-
-
Method Detail
-
getNameSpace
public java.lang.String getNameSpace()
Description copied from class:BaseSAMLMessageParserMethod that should return the main namespace of the packate- Specified by:
getNameSpacein classBaseSAMLMessageParser
-
getJAXBPackages
public java.lang.String getJAXBPackages()
- Specified by:
getJAXBPackagesin classBaseSAMLMessageParser- Returns:
- all related JAXBPackages.
-
getDefaultSchemaLocations
public java.lang.String[] getDefaultSchemaLocations() throws org.xml.sax.SAXException- Specified by:
getDefaultSchemaLocationsin classBaseSAMLMessageParser- Returns:
- an array of schema locations used by the parser. The string value should point to resources available using getResourceAsStream()
- Throws:
org.xml.sax.SAXException
-
lookupSchemaForElement
protected java.lang.String lookupSchemaForElement(java.lang.String type, java.lang.String namespaceURI, java.lang.String publicId, java.lang.String systemId, java.lang.String baseURI)Description copied from class:BaseSAMLMessageParserMethod to find Schema for a specific element related to the custom schema locations. The implementation only need to find it's related XSD, the basic datatypes and XML itself are not needed.- Specified by:
lookupSchemaForElementin classBaseSAMLMessageParser- Parameters:
type- The type of the resource being resolved. For XML [XML 1.0] resources (i.e. entities), applications must use the value "http://www.w3.org/TR/REC-xml". For XML Schema [XML Schema Part 1], applications must use the value "http://www.w3.org/2001/XMLSchema". Other types of resources are outside the scope of this specification and therefore should recommend an absolute URI in order to use this method.namespaceURI- The namespace of the resource being resolved, e.g. the target namespace of the XML Schema [XML Schema Part 1] when resolving XML Schema resources.publicId- The public identifier of the external entity being referenced, or null if no public identifier was supplied or if the resource is not an entity.systemId- The system identifier, a URI reference [IETF RFC 2396], of the external resource being referenced, or null if no system identifier was supplied.baseURI- The absolute base URI of the resource being parsed, or null if there is no base URI.- Returns:
- the resource as stream path to related schema XSD, or null if no matching found.
-
genEntityDescriptor
public EntityDescriptorType genEntityDescriptor(java.lang.String entityID, java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, ExtensionsType extensions, java.util.List<java.lang.Object> descriptors, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.List<AdditionalMetadataLocationType> additionalMetadataLocations, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes) throws MessageProcessingException, MessageContentException
Theelement specifies metadata for a single SAML entity. A single entity may act in many different roles in the support of multiple profiles. This specification directly supports the following concrete roles as well as the abstract element for extensibility (see subsequent sections for more details): - SSO Identity Provider
- SSO Service Provider
- Authentication Authority
- Attribute Authority
- Policy Decision Point
- Affiliation
When used as the root element of a metadata instance, this element MUST contain either a validUntil or cacheDuration attribute. It is RECOMMENDED that only the root element of a metadata instance contain either attribute.
It is RECOMMENDED that if multiple role descriptor elements of the same type appear, that they do not share overlapping protocolSupportEnumeration values. Selecting from among multiple role descriptor elements of the same type that do share a protocolSupportEnumeration value is undefined within this specification, but MAY be defined by metadata profiles, possibly through the use of other distinguishing extension attributes.
- Parameters:
entityID- Specifies the unique identifier of the SAML entity whose metadata is described by the element's contents. (Required)validUntil- Optional attribute indicates the expiration time of the metadata contained in the element and any contained elements. (Optional, use null to not set).cacheDuration- Optional attribute indicates the maximum length of time a consumer should cache the metadata contained in the element and any contained elements. (Optional, use null to not set).extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer. Extension elements MUST be namespace-qualified by a non-SAML-defined namespace. (Optional, use null to not set).descriptors- The primary content of the element is either a sequence of one or more role descriptor elements, or a specialized descriptor that defines an affiliation. Either a list of RoleDescriptorType or One AffiliationDescriptorType.organisation- Optional element i dentifying the organization responsible for the SAML entity described by the element. (Optional, use null to not set).contactPersons- Optional sequence of elements identifying various kinds of contact personnel. (Optional, use null to not set).additionalMetadataLocations- Optional sequence of namespace-qualified locations where additional metadata exists for the SAML entity. This may include metadata in alternate formats or describing adherence to other non-SAML specifications. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).- Returns:
- a populated EntityDescriptorType
- Throws:
MessageProcessingException- if internal error occurred generating the message.MessageContentException- if bad message format was detected.
-
genEntityDescriptor
public byte[] genEntityDescriptor(ContextMessageSecurityProvider.Context context, java.lang.String entityID, java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, ExtensionsType extensions, java.util.List<java.lang.Object> descriptors, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.List<AdditionalMetadataLocationType> additionalMetadataLocations, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes, boolean sign) throws MessageProcessingException, MessageContentException
Theelement specifies metadata for a single SAML entity. A single entity may act in many different roles in the support of multiple profiles. This specification directly supports the following concrete roles as well as the abstract element for extensibility (see subsequent sections for more details): - SSO Identity Provider
- SSO Service Provider
- Authentication Authority
- Attribute Authority
- Policy Decision Point
- Affiliation
When used as the root element of a metadata instance, this element MUST contain either a validUntil or cacheDuration attribute. It is RECOMMENDED that only the root element of a metadata instance contain either attribute.
It is RECOMMENDED that if multiple role descriptor elements of the same type appear, that they do not share overlapping protocolSupportEnumeration values. Selecting from among multiple role descriptor elements of the same type that do share a protocolSupportEnumeration value is undefined within this specification, but MAY be defined by metadata profiles, possibly through the use of other distinguishing extension attributes.
- Parameters:
context- message security related context. Use null if no signature should be used.entityID- Specifies the unique identifier of the SAML entity whose metadata is described by the element's contents. (Required)validUntil- Optional attribute indicates the expiration time of the metadata contained in the element and any contained elements. (Optional, use null to not set).cacheDuration- Optional attribute indicates the maximum length of time a consumer should cache the metadata contained in the element and any contained elements. (Optional, use null to not set).extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer. Extension elements MUST be namespace-qualified by a non-SAML-defined namespace. (Optional, use null to not set).descriptors- The primary content of the element is either a sequence of one or more role descriptor elements, or a specialized descriptor that defines an affiliation. Either a list of RoleDescriptorType or One AffiliationDescriptorType.organisation- Optional element i dentifying the organization responsible for the SAML entity described by the element. (Optional, use null to not set).contactPersons- Optional sequence of elements identifying various kinds of contact personnel. (Optional, use null to not set).additionalMetadataLocations- Optional sequence of namespace-qualified locations where additional metadata exists for the SAML entity. This may include metadata in alternate formats or describing adherence to other non-SAML specifications. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).sign- if returned message should contain a signature.- Returns:
- marshalled xml message in UTF-8 encoded byte array.
- Throws:
MessageProcessingException- if internal error occurred generating the message.MessageContentException- if bad message format was detected.
-
genEntitiesDescriptor
public EntitiesDescriptorType genEntitiesDescriptor(java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.lang.String name, ExtensionsType extensions, java.util.List<java.lang.Object> entityDescriptors) throws MessageProcessingException
The EntitiesDescriptor element contains the metadata for an optionally named group of SAML entities. Its EntitiesDescriptor Type complex type contains a sequence of EntityDescriptor elements, EntitiesDescriptor elements, or both. ID is generated automatically.- Parameters:
validUntil- Optional attribute indicates the expiration time of the metadata contained in the element and any contained elements. (Optional, use null to not set).cacheDuration- Optional attribute indicates the maximum length of time a consumer should cache the metadata contained in the element and any contained elements. (Optional, use null to not set).name- A string name that identifies a group of SAML entities in the context of some deployment. (Optional, use null to not set).extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer. Extension elements MUST be namespace-qualified by a non-SAML-defined namespace. (Optional, use null to not set).entityDescriptors- Contains the metadata for one or more SAML entities, or a nested group of additional metadata. (One is required)- Returns:
- a populated EntitiesDescriptorType
- Throws:
MessageProcessingException- if internal error occurred generating the message.
-
genEntitiesDescriptor
public byte[] genEntitiesDescriptor(ContextMessageSecurityProvider.Context context, java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.lang.String name, ExtensionsType extensions, java.util.List<java.lang.Object> entityDescriptors, boolean sign) throws MessageProcessingException, MessageContentException
The EntitiesDescriptor element contains the metadata for an optionally named group of SAML entities. Its EntitiesDescriptor Type complex type contains a sequence of EntityDescriptor elements, EntitiesDescriptor elements, or both. ID is generated automatically.- Parameters:
context- message security related context. Use null if no signature should be used.validUntil- Optional attribute indicates the expiration time of the metadata contained in the element and any contained elements. (Optional, use null to not set).cacheDuration- Optional attribute indicates the maximum length of time a consumer should cache the metadata contained in the element and any contained elements. (Optional, use null to not set).name- A string name that identifies a group of SAML entities in the context of some deployment. (Optional, use null to not set).extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer. Extension elements MUST be namespace-qualified by a non-SAML-defined namespace. (Optional, use null to not set).entityDescriptors- Contains the metadata for one or more SAML entities, or a nested group of additional metadata. (One is required)sign- if the returned message should contain a signature.- Returns:
- marshalled xml message in UTF-8 encoded byte array.
- Throws:
MessageProcessingException- if internal error occurred generating the message.MessageContentException- if bad message format was detected.
-
genOrganization
public OrganizationType genOrganization(ExtensionsType extensions, java.util.List<LocalizedNameType> organizationName, java.util.List<LocalizedNameType> organizationDisplayName, java.util.List<LocalizedURIType> organizationURL, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes) throws MessageContentException
The Organization element specifies basic information about an organization responsible for a SAML entity or role. The use of this element is always optional. Its content is informative in nature and does not directly map to any core SAML elements or attributes.- Parameters:
extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer.Extensions MUST NOT include global (non-namespace-qualified) elements or elements qualified by a SAML-defined namespace within this element. (Optional, use null to not set).organizationName- One or more language-qualified names that may or may not be suitable for human consumption. (Required)organizationDisplayName- One or more language-qualified names that are suitable for human consumption. (Required)organizationURL- One or more language-qualified URIs that specify a location to which to direct a user for additional information. Note that the language qualifier refersto the content of the material at the specified location. (Required)otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).- Returns:
- a populated OrganizationType
- Throws:
MessageContentException- if bad message format was detected.
-
genContactType
public ContactType genContactType(ContactTypeType contactType, ExtensionsType extensions, java.lang.String company, java.lang.String givenName, java.lang.String surName, java.util.List<java.lang.String> emailAddresses, java.util.List<java.lang.String> telephoneNumbers, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)
The ContactPerson element specifies basic contact information about a person responsible in some capacity for a SAML entity or role. The use of this element is always optional. Its content is informative in nature and does not directly map to any core SAML elements or attributes.- Parameters:
contactType- Specifies the type of contact using the ContactTypeType enumeration. The possible values are technical,support,administrative,billing, and other. (Required)extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer.Extensions MUST NOT include global (non-namespace-qualified) elements or elements qualified by a SAML-defined namespace within this element. (Optional, use null to not set).company- Optional string element that specifies the name of the company for the contact person. (Optional, use null to not set).givenName- Optional string element that specifies the given (first) name of the contact person.(Optional, use null to not set).surName- Optional string element that specifies the surname of the contact person. (Optional, use null to not set).emailAddresses- Zero or more elements containing mailto: URIs representing e-mail addresses belonging to the contact person. (Optional, use null to not set).telephoneNumbers- Zero or more string elements specifying a telephone number of the contact person. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).- Returns:
- a populated ContactType
-
genKeyDescriptor
public KeyDescriptorType genKeyDescriptor(KeyTypes use, KeyInfoType keyInfo, java.util.List<EncryptionMethodType> encryptionMethods)
The element provides information about the cryptographic key(s) that an entity uses to sign data or receive encrypted keys, along with additional cryptographic details.- Parameters:
use- Optional attribute specifying the purpose of the key being described. Values are drawn from the KeyTypes enumeration, and consist of the values encryption and signing. (Optional, use null to not set)keyInfo- Element that directly or indirectly identifies a key. (Required)encryptionMethods- Optional element specifying an algorithm and algorithm-specific settings supported by the entity. The exact content varies based on the algorithm supported. See [XMLEnc] for the definition of this element's xenc:EncryptionMethodType complex type. (Optional, use null to not set)- Returns:
- a populated KeyDescriptorType
-
genKeyDescriptor
public KeyDescriptorType genKeyDescriptor(KeyTypes use, java.security.cert.X509Certificate certificate, java.util.List<EncryptionMethodType> encryptionMethods) throws MessageContentException
Thel method to create a KeyDescriptorType from a certificate.- Parameters:
use- Optional attribute specifying the purpose of the key being described. Values are drawn from the KeyTypes enumeration, and consist of the values encryption and signing. (Optional, use null to not set)certificate- The certificate to generate the KeyInfoType from. (Required)encryptionMethods- Optional element specifying an algorithm and algorithm-specific settings supported by the entity. The exact content varies based on the algorithm supported. See [XMLEnc] for the definition of this element's xenc:EncryptionMethodType complex type. (Optional, use null to not set)- Returns:
- a populated KeyDescriptorType
- Throws:
MessageContentException- if bad message format or certificate was detected.
-
genEndpoint
public EndpointType genEndpoint(java.lang.String binding, java.lang.String location, java.lang.String responseLocation, java.util.List<java.lang.Object> anyXML, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)
The complex type EndpointType describes a SAML protocol binding endpoint at which a SAML entity can be sent protocol messages. Various protocol or profile-specific metadata elements are bound to this type.- Parameters:
binding- A required attribute that specifies the SAML binding supported by the endpoint. Each binding is assigned a URI to identify it. (Required)location- A required URI attribute that specifies the location of the endpoint. The allowable syntax of this URI depends on the protocol binding. (Required)responseLocation- Optionally specifies a different location to which response messages sent as part of the protocol or profile should be sent. The a llowable syntax of this URI depends on the protocol binding. (Optional, use null to not set).anyXML- Non-SAML namespace XML added to the endpoint. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).- Returns:
- a newly generate endpoint type.
-
genIndexedEndpoint
public IndexedEndpointType genIndexedEndpoint(java.lang.String binding, java.lang.String location, java.lang.String responseLocation, int index, java.lang.Boolean isDefault, java.util.List<java.lang.Object> anyXML, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)
The complex type EndpointType describes a SAML protocol binding endpoint at which a SAML entity can be sent protocol messages. Various protocol or profile-specific metadata elements are bound to this type.- Parameters:
binding- A required attribute that specifies the SAML binding supported by the endpoint. Each binding is assigned a URI to identify it. (Required)location- A required URI attribute that specifies the location of the endpoint. The allowable syntax of this URI depends on the protocol binding. (Required)responseLocation- Optionally specifies a different location to which response messages sent as part of the protocol or profile should be sent. The a llowable syntax of this URI depends on the protocol binding. (Optional, use null to not set).index- A required attribute that assigns a unique integer value to the endpoint so that it can be referenced in a protocol message. The index value need only be unique within a collection of like elements contained within the same parent element (i.e., they need not be unique across the entire instance). (Required)isDefault- An optional boolean attribute used to designate the default endpoint among an indexed set. If omitted, the value is assumed to be false. (Optional, use null to not set).anyXML- Non-SAML namespace XML added to the endpoint. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).- Returns:
- a newly generate endpoint type.
-
genIDPSSODescriptor
public IDPSSODescriptorType genIDPSSODescriptor(java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.util.List<java.lang.String> protocolSupportEnumeration, java.lang.String errorURL, ExtensionsType extensions, java.util.List<KeyDescriptorType> keyDescriptorTypes, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes, java.util.List<IndexedEndpointType> artifactResolutionService, java.util.List<EndpointType> singleLogoutService, java.util.List<EndpointType> manageNameIDService, java.util.List<java.lang.String> nameIDFormat, java.lang.Boolean wantAuthnRequestsSigned, java.util.List<EndpointType> singleSignOnServices, java.util.List<EndpointType> nameIDMappingServices, java.util.List<EndpointType> assertionIDRequestServices, java.util.List<java.lang.String> attributeProfiles, java.util.List<AttributeType> attributes) throws MessageProcessingException, MessageContentException
The IDPSSODescriptor element extends SSODescriptorType with content reflecting profiles specific to identity providers supporting SSO- Parameters:
validUntil- Optional attribute indicates the expiration time of the metadata contained in the element and any contained elements. (Optional, use null to not set).cacheDuration- Optional attribute indicates the maximum length of time a consumer should cache the metadata contained in the element and any contained elements. (Optional, use null to not set).protocolSupportEnumeration- set of URIs that identify the set of protocol specifications supported by the role element. For SAML V2.0 entities, this set MUST include the SAML protocol namespace URI,urn:oasis:names:tc:SAML:2.0:protocol. Note that future SAML specifications might share the same namespace URI, but SHOULD provide alternate "protocol support" identifiers to ensure discrimination when necessary. (Required)errorURL- Optional URI attribute that specifies a location to direct a user for problem resolution and additional support related to this role. (Optional, use null to not set).extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer. Extension elements MUST be namespace-qualified by a non-SAML-defined namespace. (Optional, use null to not set).keyDescriptorTypes- Optional sequence of elements that provides information about the cryptographic keys that the entity uses when acting in this role. (Optional, use null to not set).organisation- Optional element specifies the organization associated with this role. (Optional, use null to not set).contactPersons- Optional sequence of elements specifying contacts associated with this role. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).artifactResolutionService- Zero or more elements of type IndexedEndpointType that describe indexed endpoints that support the Artifact Resolution profile defined in [SAMLProf]. The ResponseLocation attribute MUST be omitted. (Optional, use null to not set).singleLogoutService- Zero or more elements of type EndpointType that describe endpoints that support the Single Logout profiles defined in [SAMLProf]. (Optional, use null to not set).manageNameIDService- Zero or more elements of type EndpointType that describe endpoints that support the Name Identifier Management profiles defined in [SAMLProf]. (Optional, use null to not set).nameIDFormat- Zero or more elements of type anyURI that enumerate the name identifier formats supported by this system entity acting in this role. See Section 8.3 of [SAMLCore] for some possible values for this element. (Optional, use null to not set).wantAuthnRequestsSigned- Optional attribute that indicates a requirement for the samlp:AuthnRequest messages received by this identity provider to be signed. If omitted, the value is assumed to be false. (Optional, use null to not set).singleSignOnServices- One or more elements of type EndpointType that describe endpoints that support the profiles of the Authentication Request protocol defined in [SAMLProf]. All identity providers support at least one such endpoint, by definition. The ResponseLocation attribute MUST be omitted. (One Required)nameIDMappingServices- Zero or more elements of type EndpointType that describe endpoints that support the Name Identifier Mapping profile defined in [SAMLProf]. The ResponseLocation attribute MUST be omitted. (Optional, use null to not set).assertionIDRequestServices- Zero or more elements of type EndpointType that describe endpoints that support the profile of the Assertion Request protocol defined in [SAMLProf] or the special URI binding for assertion requests defined in [SAMLBind]. (Optional, use null to not set).attributeProfiles- Zero or more elements of type anyURI that enumerate the attribute profiles supported by this identity provider. See [SAMLProf] for some possible values for this element. (Optional, use null to not set).attributes- Zero or more elements that identify the SAML attributes supported by the identity provider. Specific values MAY optionally be included, indicating that only certain values permitte d by the attribute's definition are supported. In this context, "support" for an attribute means that the identity provider has the capability to include it when delivering assertions during single sign-on.(Optional, use null to not set).- Returns:
- a newly populated IDPSSODescriptorType
- Throws:
MessageProcessingException- if internal error occurred generating the message.MessageContentException- if bad message format was detected.
-
genSPSSODescriptor
public SPSSODescriptorType genSPSSODescriptor(java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.util.List<java.lang.String> protocolSupportEnumeration, java.lang.String errorURL, ExtensionsType extensions, java.util.List<KeyDescriptorType> keyDescriptorTypes, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes, java.util.List<IndexedEndpointType> artifactResolutionService, java.util.List<EndpointType> singleLogoutService, java.util.List<EndpointType> manageNameIDService, java.util.List<java.lang.String> nameIDFormat, java.lang.Boolean authnRequestsSigned, java.lang.Boolean wantAssertionsSigned, java.util.List<IndexedEndpointType> assertionConsumerServices, java.util.List<AttributeConsumingServiceType> attributeConsumingServices) throws MessageProcessingException, MessageContentException
The IDPSSODescriptor element extends SSODescriptorType with content reflecting profiles specific to identity providers supporting SSO- Parameters:
validUntil- Optional attribute indicates the expiration time of the metadata contained in the element and any contained elements. (Optional, use null to not set).cacheDuration- Optional attribute indicates the maximum length of time a consumer should cache the metadata contained in the element and any contained elements. (Optional, use null to not set).protocolSupportEnumeration- set of URIs that identify the set of protocol specifications supported by the role element. For SAML V2.0 entities, this set MUST include the SAML protocol namespace URI,urn:oasis:names:tc:SAML:2.0:protocol. Note that future SAML specifications might share the same namespace URI, but SHOULD provide alternate "protocol support" identifiers to ensure discrimination when necessary. (Required)errorURL- Optional URI attribute that specifies a location to direct a user for problem resolution and additional support related to this role. (Optional, use null to not set).extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer. Extension elements MUST be namespace-qualified by a non-SAML-defined namespace. (Optional, use null to not set).keyDescriptorTypes- Optional sequence of elements that provides information about the cryptographic keys that the entity uses when acting in this role. (Optional, use null to not set).organisation- Optional element specifies the organization associated with this role. (Optional, use null to not set).contactPersons- Optional sequence of elements specifying contacts associated with this role. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).artifactResolutionService- Zero or more elements of type IndexedEndpointType that describe indexed endpoints that support the Artifact Resolution profile defined in [SAMLProf]. The ResponseLocation attribute MUST be omitted. (Optional, use null to not set).singleLogoutService- Zero or more elements of type EndpointType that describe endpoints that support the Single Logout profiles defined in [SAMLProf]. (Optional, use null to not set).manageNameIDService- Zero or more elements of type EndpointType that describe endpoints that support the Name Identifier Management profiles defined in [SAMLProf]. (Optional, use null to not set).nameIDFormat- Zero or more elements of type anyURI that enumerate the name identifier formats supported by this system entity acting in this role. See Section 8.3 of [SAMLCore] for some possible values for this element. (Optional, use null to not set).authnRequestsSigned- Optional attribute that indicates whether the samlp:AuthnRequest messages sent by this service provider will be signed. If omitted, the value is assumed to be false. (Optional, use null to not set).wantAssertionsSigned- Optional attribute that indicates a requirement for the saml:Assertion elements received by this service provider to be signed. If omitted, the value is assumed to be false. This requirement is in addition to any requirement for signing derived from the use of a particular profile/binding combination. (Optional, use null to not set).assertionConsumerServices- One or more elements that describe indexed endpoints that support the profiles of the Authentication Request protocol defined in [SAMLProf]. All service providers support at least one such endpoint, by definition. (One is Required).attributeConsumingServices- Zero or more elements that describe an application or service provided by the service provider that requires or desires the use of SAML attributes. (Optional, use null to not set).- Returns:
- a new populated SPSSODescriptorType
- Throws:
MessageProcessingException- if internal error occurred generating the message.MessageContentException- if bad message format was detected.
-
genAttributeConsumingService
public AttributeConsumingServiceType genAttributeConsumingService(int index, java.lang.Boolean isDefault, java.util.List<LocalizedNameType> serviceNames, java.util.List<LocalizedNameType> serviceDescriptions, java.util.List<RequestedAttributeType> requestedAttributes)
The AttributeConsumingService element defines a particular service offered by the service provider in terms of the attributes the service requires or desires.- Parameters:
index- A required attribute that assigns a unique integer value to the element so that it can be referenced in a protocol message. (Required)isDefault- Identifies the default service supported by the service provider. Useful if the specific service is not otherwise indicated by application context. If omitted, the value is assumed to be false. (Optional, use null to not set).serviceNames- One or more language-qualified names for the service. (One required)serviceDescriptions- Zero or more language-qualified strings that describe the service. (Optional, use null to not set).requestedAttributes- One or more elements specifying attributes required or desired by this service. (One required)- Returns:
- a new populated AttributeConsumingServiceType
-
genExtensions
public ExtensionsType genExtensions(java.util.List<java.lang.Object> extentionObjects)
Help method to generate a extensions type to be used with- Parameters:
extentionObjects- list of extensions elements (JAXBElements) to include.- Returns:
- a newly generated ExtensionsType object.
-
genUIInfo
public javax.xml.bind.JAXBElement<UIInfoType> genUIInfo(java.util.List<javax.xml.bind.JAXBElement<?>> childElements) throws MessageContentException
Method to generate a MD UIInfo JAXBElement with given child elements.- Parameters:
childElements- a least one child element.- Returns:
- a new JAXBElement containing a UI info of all child elements.
- Throws:
MessageContentException- if no child elements where specified.
-
genUIDiscoHints
public javax.xml.bind.JAXBElement<DiscoHintsType> genUIDiscoHints(java.util.List<javax.xml.bind.JAXBElement<?>> childElements) throws MessageContentException
Method to generate a MD UI DiscoHints JAXBElement with given child elements.- Parameters:
childElements- a least one child element.- Returns:
- a new JAXBElement containing a DiscoHints of all child elements.
- Throws:
MessageContentException- if no child elements where specified.
-
genUILogo
public javax.xml.bind.JAXBElement<LogoType> genUILogo(int width, int heigth, java.lang.String uri, java.lang.String lang)
Help method to generate a MD UI Logo element. Specifies the external location of a localized logo fit for display to users.- Parameters:
width- The rendered width of the logo measured in pixels.heigth- The rendered height of the logo measured in pixels.uri- the URI pointing to the logo.lang- optional language specifier.- Returns:
- a JAXBElement containing the logo.
-
genUIDisplayName
public javax.xml.bind.JAXBElement<LocalizedNameType> genUIDisplayName(java.lang.String name, java.lang.String lang) throws MessageContentException
Help method to generate a MD UI DisplayName element for the specified language. Specifies a localized name fit for display to users. Such names are meant to allow a user to distinguish and identify the entity acting in a particular role. The content of this element should be suitable for use in constructing accessible user interfaces for those with disabilities.- Parameters:
name- a string display name of related service.lang- required language specifier.- Returns:
- a JAXBElement containing the description.
- Throws:
MessageContentException- if lang is not set.
-
genUIDescription
public javax.xml.bind.JAXBElement<LocalizedNameType> genUIDescription(java.lang.String description, java.lang.String lang) throws MessageContentException
Help method to generate a MD UI Description element for the specified language. Specifies a brief, localized description fit for display to users. In the case of an md:SPSSODescriptor role, this SHOULD be a description of the service being offered. In the case of an md:IDPSSODescriptor role this SHOULD include a description of the user community serviced.In all cases this text MUST be standalone, meaning it is not to be used as a template requiring additional text (e.g., "This service offers $description").
- Parameters:
description- a string descriptionlang- required language specifier.- Returns:
- a JAXBElement containing the description.
- Throws:
MessageContentException- if lang is not set.
-
genUIInformationURL
public javax.xml.bind.JAXBElement<LocalizedURIType> genUIInformationURL(java.lang.String url, java.lang.String lang) throws MessageContentException
Help method to generate a MD UI Information URL element for the specified language. Specifies an external location for localized information about the entity acting in a given role meant to be viewed by users. The content found at the URL SHOULD provide more complete information than what would be provided by the mdui:Description element.- Parameters:
url- valid URL.lang- required language specifier.- Returns:
- a JAXBElement containing the URL.
- Throws:
MessageContentException- if lang is not set.
-
genUIPrivacyStatementURL
public javax.xml.bind.JAXBElement<LocalizedURIType> genUIPrivacyStatementURL(java.lang.String url, java.lang.String lang) throws MessageContentException
Help method to generate a MD UI Privacy Statement URL element for the specified language. Statements are meant to provide a user with information about how information will be used and managed by the entity acting in a given role.- Parameters:
url- valid URL.lang- required language specifier.- Returns:
- a JAXBElement containing the URL.
- Throws:
MessageContentException- if lang is not set.
-
genUIKeywords
public javax.xml.bind.JAXBElement<KeywordsType> genUIKeywords(java.util.List<java.lang.String> keywords, java.lang.String lang) throws MessageContentException
Help method to generate a MD UI Info Keywords element for the specified language. A keyword specifies a list of localized search keywords, tags, categories, or labels that apply to the containing role. This element extends the mdui:listOfStrings schema type with the following attribute.- Parameters:
keywords- a "list" of strings in the XML Schema [Schema2] sense, which means the keyword strings are space-delimited. Spaces within individual keywords are encoded with a "plus" (+) character; as a consequence, keywords may not contain that character.lang- required language specifier.- Returns:
- a JAXBElement containing the key words
- Throws:
MessageContentException- if lang is not set.
-
genUIIPHint
public javax.xml.bind.JAXBElement<java.lang.String> genUIIPHint(java.lang.String value)
Help method to generate a MD UI Discovery IP Hint.- Parameters:
value- specifies an [RFC4632] block associated with, or serviced by, the entity. Both IPv4 and IPv6 CIDR blocks MUST be supported.- Returns:
- a JAXBElement containing the IP Hint
-
genUIDomainHint
public javax.xml.bind.JAXBElement<java.lang.String> genUIDomainHint(java.lang.String value)
Help method to generate a MD UI Discovery Domain Hint.- Parameters:
value- specifies a DNS domain associated with, or serviced by, the entity.- Returns:
- a JAXBElement containing the Domain Hint
-
genUIGeolocationHint
public javax.xml.bind.JAXBElement<java.lang.String> genUIGeolocationHint(java.lang.String value)
Help method to generate a MD UI Discovery Geolocation Hint.- Parameters:
value- specifies a set of geographic coordinates associated with, or serviced by, the entity. Coordinates are given in URI form using the geo URI scheme [RFC5870].- Returns:
- a JAXBElement containing the Geolocation Hint
-
genMDEntityAttributes
public javax.xml.bind.JAXBElement<EntityAttributesType> genMDEntityAttributes(java.util.List<java.lang.Object> attributeOrAssertion) throws MessageContentException
Help method to generate MD Entity Attribute used as an extension in EntityId- Parameters:
attributeOrAssertion- an array of AttributeType or AssertionType to and to the EntityAttribute element- Returns:
- a new EntityAttributes element
- Throws:
MessageContentException- if invalid type was given in list
-
isSet
protected void isSet(java.lang.String value, java.lang.String errorMessage) throws MessageContentExceptionMethod that verifies that a given value is set (i.e not null or empty string) or throws MessageContentException with given error message.- Throws:
MessageContentException
-
populateRoleDescriptor
protected void populateRoleDescriptor(RoleDescriptorType roleDescriptor, java.util.Date validUntil, javax.xml.datatype.Duration cacheDuration, java.util.List<java.lang.String> protocolSupportEnumeration, java.lang.String errorURL, ExtensionsType extensions, java.util.List<KeyDescriptorType> keyDescriptorTypes, OrganizationType organisation, java.util.List<ContactType> contactPersons, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes) throws MessageContentException, MessageProcessingException
Method to populate the base RoleDescriptor type. ID Attribute is automatically generated.- Parameters:
roleDescriptor- The role descriptor to populate.validUntil- Optional attribute indicates the expiration time of the metadata contained in the element and any contained elements. (Optional, use null to not set).cacheDuration- Optional attribute indicates the maximum length of time a consumer should cache the metadata contained in the element and any contained elements. (Optional, use null to not set).protocolSupportEnumeration- set of URIs that identify the set of protocol specifications supported by the role element. For SAML V2.0 entities, this set MUST include the SAML protocol namespace URI,urn:oasis:names:tc:SAML:2.0:protocol. Note that future SAML specifications might share the same namespace URI, but SHOULD provide alternate "protocol support" identifiers to ensure discrimination when necessary. (Required)errorURL- Optional URI attribute that specifies a location to direct a user for problem resolution and additional support related to this role. (Optional, use null to not set).extensions- This contains optional metadata extensions that are agreed upon between a metadata publisher and consumer. Extension elements MUST be namespace-qualified by a non-SAML-defined namespace. (Optional, use null to not set).keyDescriptorTypes- Optional sequence of elements that provides information about the cryptographic keys that the entity uses when acting in this role. (Optional, use null to not set).organisation- Optional element specifies the organization associated with this role. (Optional, use null to not set).contactPersons- Optional sequence of elements specifying contacts associated with this role. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).- Throws:
MessageProcessingException- if internal error occurred generating the message.MessageContentException- if bad message format was detected.
-
populateSSODescriptor
protected void populateSSODescriptor(SSODescriptorType ssoDescriptorType, java.util.List<IndexedEndpointType> artifactResolutionService, java.util.List<EndpointType> singleLogoutService, java.util.List<EndpointType> manageNameIDService, java.util.List<java.lang.String> nameIDFormat)
The SSODescriptorType abstract type is a common base type for the concrete types SPSSODescriptorType and IDPSSODescriptorType.- Parameters:
ssoDescriptorType- the SSO Descriptor type to populate.artifactResolutionService- Zero or more elements of type IndexedEndpointType that describe indexed endpoints that support the Artifact Resolution profile defined in [SAMLProf]. The ResponseLocation attribute MUST be omitted. (Optional, use null to not set).singleLogoutService- Zero or more elements of type EndpointType that describe endpoints that support the Single Logout profiles defined in [SAMLProf]. (Optional, use null to not set).manageNameIDService- Zero or more elements of type EndpointType that describe endpoints that support the Name Identifier Management profiles defined in [SAMLProf]. (Optional, use null to not set).nameIDFormat- Zero or more elements of type anyURI that enumerate the name identifier formats supported by this system entity acting in this role. See Section 8.3 of [SAMLCore] for some possible values for this element.(Optional, use null to not set).
-
populateEndpointType
protected void populateEndpointType(EndpointType endpointType, java.lang.String binding, java.lang.String location, java.lang.String responseLocation, java.util.List<java.lang.Object> anyXML, java.util.Map<javax.xml.namespace.QName,java.lang.String> otherAttributes)
Method to populate an endpoint type.- Parameters:
endpointType- the object to populatebinding- A required attribute that specifies the SAML binding supported by the endpoint. Each binding is assigned a URI to identify it. (Required)location- A required URI attribute that specifies the location of the endpoint. The allowable syntax of this URI depends on the protocol binding. (Required)responseLocation- Optionally specifies a different location to which response messages sent as part of the protocol or profile should be sent. The a llowable syntax of this URI depends on the protocol binding. (Optional, use null to not set).anyXML- Non-SAML namespace XML added to the endpoint. (Optional, use null to not set).otherAttributes- Arbitrary namespace-qualified attributes from non-SAML-defined namespaces. (Optional, use null to not set).
-
getSignatureLocationFinder
public XMLSigner.SignatureLocationFinder getSignatureLocationFinder()
- Specified by:
getSignatureLocationFinderin classBaseSAMLMessageParser- Returns:
- returns the implementation locating the signature element of a specific message.
-
getOrganisationLookup
public XMLSigner.OrganisationLookup getOrganisationLookup()
- Specified by:
getOrganisationLookupin classBaseSAMLMessageParser- Returns:
- the implementation to lookup related organisation in a specific message.
-
-