Class AssertionBase

  • Direct Known Subclasses:
    Assertion

    @SupportedAll
    public abstract class AssertionBase
    extends Object
    This object stands for Assertion element.An Assertion is a package of information that supplies one or more Statement made by an issuer. There are three kinds of assertionsL Authentication, AuthorizationDecision and Attribute assertion. This class is an abstract base class for all Assertion implementations and encapsulates common functionality.
    • Field Detail

      • _statements

        protected Set<Statement> _statements
        The statements variable is a HashSet of all the stataments in this assertion in the defined sequence
      • _majorVersion

        protected int _majorVersion
        This value specifies the SAML major version. Each assertion MUST specify the SAML major version identifier.The identifier for this version of SAML is 1.
      • _minorVersion

        protected int _minorVersion
        This value specifies the SAML minor version. Each assertion MUST specify the SAML minor version identifier. The identifier for this version of SAML is 0.
      • _assertionID

        protected AssertionIDReference _assertionID
        The _assertionID attribute specifies the assertion identifier.
      • _issuer

        protected String _issuer
        The Issuer attribute specifies the issuer of the assertion by means of a string.
      • _issueInstant

        protected Date _issueInstant
        The IssueInstant attribute specifies the time instant of issue in Universal Coordinated Time.
      • _conditions

        protected Conditions _conditions
        The Conditions element specifies conditions that affect the validity of the asserted statement.
      • _advice

        protected AdviceBase _advice
        The Advice element specifies additional information related to the assertion that may assist processing in certain situations but which can be ignored by applications that do not support its use.
      • xmlString

        protected String xmlString
      • signatureString

        protected String signatureString
      • signature

        protected Element signature
      • signed

        protected boolean signed
      • validationDone

        protected boolean validationDone
    • Constructor Detail

      • AssertionBase

        protected AssertionBase()
        Default constructor, declaring protected to enable extensibility
      • AssertionBase

        public AssertionBase​(Element assertionElement)
                      throws SAMLException
        Contructor This constructor is used to build Assertion object from a block of existing XML that has already been built into a DOM.
        Parameters:
        assertionElement - A org.w3c.dom.Element representing DOM tree for Assertion object
        Throws:
        SAMLException - if it could not process the Element properly, implying that there is an error in the sender or in the element definition.
      • AssertionBase

        public AssertionBase​(String assertionID,
                             String issuer,
                             Date issueInstant,
                             Set<Statement> statements)
                      throws SAMLException
        Contructor This constructor is used to populate the data members: assertionID, the issuer, time when assertion issued and a set of Statement(s) in the assertion.
        Parameters:
        assertionID - assertionID attribute contained within this Assertion if null, an assertionID is generated internally.
        issuer - The issuer of this assertion.
        issueInstant - time instant of the issue. It has type dateTime which is built in to the W3C XML Schema Types specification.if null, current time is used.
        statements - set of Statement objects within this Assertion. It could be of type AuthenticationStatement, AuthorizationDecisionStatement and AttributeStatement. Each Assertion can have multiple type of statements in it.
        Throws:
        SAMLException - if there is an error in processing input.
      • AssertionBase

        public AssertionBase​(String assertionID,
                             String issuer,
                             Date issueInstant,
                             Conditions conditions,
                             Set<Statement> statements)
                      throws SAMLException
        This constructor is used to populate the data members: the assertionID, the issuer, time when assertion issued, the conditions when creating a new assertion and a set of Statement(s) in the assertion.
        Parameters:
        assertionID - AssertionID contained within this Assertion if null its generated internally.
        issuer - The issuer of this assertion.
        issueInstant - time instant of the issue. It has type dateTime which is built in to the W3C XML Schema Types specification. if null, current time is used.
        conditions - Conditions under which the this Assertion is valid.
        statements - Set of Statement objects within this Assertion. It could be of type AuthenticationStatement, AuthorizationDecisionStatement and AttributeStatement. Each Assertion can have multiple type of statements in it.
        Throws:
        SAMLException - if there is an error in processing input.
      • AssertionBase

        public AssertionBase​(String assertionID,
                             String issuer,
                             Date issueInstant,
                             Conditions conditions,
                             AdviceBase advice,
                             Set<Statement> statements)
                      throws SAMLException
        This constructor is used to populate the data members: the ssertionID, the issuer, time when assertion issued, the conditions when creating a new assertion , Advice applicable to this Assertion and a set of Statement(s) in the assertion.
        Parameters:
        assertionID - AssertionID object contained within this Assertion if null its generated internally.
        issuer - The issuer of this assertion.
        issueInstant - Time instant of the issue. It has type dateTime which is built in to the W3C XML Schema Types specification. if null, current time is used.
        conditions - Conditions under which the this Assertion is valid.
        advice - Advice applicable for this Assertion.
        statements - Set of Statement objects within this Assertion. It could be of type AuthenticationStatement, AuthorizationDecisionStatement and AttributeStatement. Each Assertion can have multiple type of statements in it.
        Throws:
        SAMLException - if there is an error in processing input.
    • Method Detail

      • signXML

        public void signXML​(String certAlias)
                     throws SAMLException
        Signs the Assertion.
        Parameters:
        certAlias - certification Alias used to sign Assertion.
        Throws:
        SAMLException - if it could not sign the Assertion.
      • getSignature

        public Element getSignature()
        Gets the Signature element of the Assertion.
        Returns:
        Element the Signature of the Assertion in DOM element.
      • setSignature

        public boolean setSignature​(Element elem)
        Sets the signature for the Request
        Parameters:
        elem - ds:Signature element
        Returns:
        A boolean value: true if the operation succeeds; false otherwise.
      • createAdvice

        protected abstract AdviceBase createAdvice​(Element adviceElement)
                                            throws SAMLException
        Creates appropriate Advice instance
        Parameters:
        adviceElement - the Advice Element
        Returns:
        the Advice instance
        Throws:
        SAMLException
      • createAuthorizationDecisionStatement

        protected abstract AuthorizationDecisionStatementBase createAuthorizationDecisionStatement​(Element authDecisionElement)
                                                                                            throws SAMLException
        Create appropriate AuthorizationDecisionStatement instance
        Parameters:
        authDecisionElement - the AuthorizationDecisionStatement Element
        Returns:
        AuthorizationDecisionStatement instance
        Throws:
        SAMLException
      • createAuthenticationStatement

        protected abstract AuthenticationStatement createAuthenticationStatement​(Element authenticationElement)
                                                                          throws SAMLException
        Creates appropriate AuthenticationStatement instance
        Parameters:
        authenticationElement - the AuthenticationStatement Element
        Returns:
        AuthenticationStatement instance
        Throws:
        SAMLException
      • createAttributeStatement

        protected abstract AttributeStatement createAttributeStatement​(Element attributeElement)
                                                                throws SAMLException
        Creates appropriate AttributeStatement instance
        Parameters:
        attributeElement - the AttributeStatement Element
        Returns:
        AttributeStatement instance
        Throws:
        SAMLException
      • createAssertionIDReference

        protected abstract AssertionIDReference createAssertionIDReference​(Element assertionIDRefElement)
                                                                    throws SAMLException
        Creates appropriate AssertionIDReference instance
        Parameters:
        assertionIDRefElement - the AssertionIDReference Element
        Returns:
        AssertionIDReference instance
        Throws:
        SAMLException
      • createAssertionIDReference

        protected abstract AssertionIDReference createAssertionIDReference​(String assertionID)
                                                                    throws SAMLException
        Creates appropriate AssertionIDReference instance
        Parameters:
        assertionID - the AssertionID String
        Returns:
        AssertionIDReference instance
        Throws:
        SAMLException
      • createConditions

        protected abstract Conditions createConditions​(Element conditionsElement)
                                                throws SAMLException
        Creates appropriate Conditions instance
        Parameters:
        conditionsElement - the Conditions Element
        Returns:
        Conditions instance
        Throws:
        SAMLException
      • isTimeValid

        public boolean isTimeValid()
        Gets the validity of the assertion evaluating its conditions if specified.
        Returns:
        false if conditions is invalid based on it lying between NotBefore (current time inclusive) and NotOnOrAfter (current time exclusive) values and true otherwise or if no conditions specified.
      • addStatement

        public boolean addStatement​(Statement statement)
        Adds a statement to this Assertion
        Parameters:
        statement - Statement to be added
        Returns:
        boolean indicating success or failure of operation.
      • setIssueInstant

        protected boolean setIssueInstant​(Date issueInstant)
        Set the time when the assertion was issued
        Parameters:
        issueInstant - : java.util.Date representing the time of the assertion
        Returns:
        A boolean indicating the success of the operation.
      • setAssertionID

        protected boolean setAssertionID​(String assertionID)
        Set the AssertionID for this assertion
        Parameters:
        assertionID - : a String representing id of this assertion.
        Returns:
        A boolean indicating the success of the operation.
      • setIssuer

        protected boolean setIssuer​(String issuer)
        Sets the issuer for an assertion
        Parameters:
        issuer - : a string representing the issuer of the assertion
        Returns:
        A boolean indicating the success of the operation.
      • setAdvice

        public boolean setAdvice​(AdviceBase advice)
        Sets the advice for an assertion
        Parameters:
        advice - : a linked list representing the advice information
        Returns:
        A boolean indicating the success of the operation.
      • setConditions

        public boolean setConditions​(Conditions conditions)
        Sets the Conditions information for an assertion
        Parameters:
        conditions - a linked list representing the conditions information
        Returns:
        A boolean indicating the success of the operation.
      • getMinorVersion

        public int getMinorVersion()
        Returns the minor version number of an assertion.
        Returns:
        The minor version number of an assertion.
      • setMinorVersion

        public void setMinorVersion​(int minorVersion)
        Sets the minor version number of an assertion.
        Parameters:
        minorVersion - minor version.
      • getMajorVersion

        public int getMajorVersion()
        Returns the major version number of an assertion.
        Returns:
        The major version number of an assertion.
      • setMajorVersion

        public void setMajorVersion​(int majorVersion)
        Sets the major version number of an assertion.
        Parameters:
        majorVersion - major version.
      • getIssueInstant

        public Date getIssueInstant()
        Returns the time when the assertion was issued.
        Returns:
        The time in java.util.Date format.
      • getIssuer

        public String getIssuer()
        Returns the issuer of an assertion.
        Returns:
        The issuer of an assertion.
      • getAssertionID

        public String getAssertionID()
        Returns the assertion ID.
        Returns:
        Assertion ID of the assertion.
      • getConditions

        public Conditions getConditions()
        Returns the conditions of an assertion.
        Returns:
        Conditions object containing conditions for an assertion being valid.
      • getStatement

        public Set<Statement> getStatement()
        Returns a set of Statement contained within this assertion.
        Returns:
        a set of Statement contained within this assertion.
      • toString

        public String toString()
        Returns a String representation of the element.
        Overrides:
        toString in class Object
        Returns:
        A string containing the valid XML for this element By default name space name is prepended to the element name example <saml:Assertion>.
      • toString

        public String toString​(boolean includeNS,
                               boolean declareNS)
        Returns a String representation of the <Assertion> element.
        Parameters:
        includeNS - if true prepends all elements by their Namespace name example <saml:Assertion>
        declareNS - if true includes the namespace within the generated XML.
        Returns:
        The valid XML for this element