Class AssertionBase

java.lang.Object
com.sun.identity.saml.assertion.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 Details

    • _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
    • ASSERTION_ID_ATTRIBUTE

      protected static final String ASSERTION_ID_ATTRIBUTE
      See Also:
  • Constructor Details

    • 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 Details

    • 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