Package com.sun.identity.saml.assertion
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 forAssertion
element.An Assertion is a package of information that supplies one or moreStatement
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 Summary
Fields Modifier and Type Field Description protected AdviceBase
_advice
TheAdvice
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.protected AssertionIDReference
_assertionID
The _assertionID attribute specifies the assertion identifier.protected Conditions
_conditions
TheConditions
element specifies conditions that affect the validity of the asserted statement.protected Date
_issueInstant
The IssueInstant attribute specifies the time instant of issue in Universal Coordinated Time.protected String
_issuer
The Issuer attribute specifies the issuer of the assertion by means of a string.protected int
_majorVersion
This value specifies the SAML major version.protected int
_minorVersion
This value specifies the SAML minor version.protected Set<Statement>
_statements
The statements variable is a HashSet of all the stataments in this assertion in the defined sequenceprotected static String
ASSERTION_ID_ATTRIBUTE
protected Element
signature
protected String
signatureString
protected boolean
signed
protected boolean
validationDone
protected String
xmlString
-
Constructor Summary
Constructors Modifier Constructor Description protected
AssertionBase()
Default constructor, declaring protected to enable extensibilityAssertionBase(String assertionID, String issuer, Date issueInstant, Conditions conditions, AdviceBase advice, Set<Statement> statements)
This constructor is used to populate the data members: thessertionID
, the issuer, time when assertion issued, the conditions when creating a new assertion ,Advice
applicable to thisAssertion
and a set ofStatement
(s) in the assertion.AssertionBase(String assertionID, String issuer, Date issueInstant, Conditions conditions, Set<Statement> statements)
This constructor is used to populate the data members: theassertionID
, the issuer, time when assertion issued, the conditions when creating a new assertion and a set ofStatement
(s) in the assertion.AssertionBase(String assertionID, String issuer, Date issueInstant, Set<Statement> statements)
Contructor This constructor is used to populate the data members:assertionID
, the issuer, time when assertion issued and a set ofStatement
(s) in the assertion.AssertionBase(Element assertionElement)
Contructor This constructor is used to buildAssertion
object from a block of existing XML that has already been built into a DOM.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
addStatement(Statement statement)
Adds a statement to thisAssertion
protected abstract AdviceBase
createAdvice(Element adviceElement)
Creates appropriate Advice instanceprotected abstract AssertionIDReference
createAssertionIDReference(String assertionID)
Creates appropriate AssertionIDReference instanceprotected abstract AssertionIDReference
createAssertionIDReference(Element assertionIDRefElement)
Creates appropriate AssertionIDReference instanceprotected abstract AttributeStatement
createAttributeStatement(Element attributeElement)
Creates appropriate AttributeStatement instanceprotected abstract AuthenticationStatement
createAuthenticationStatement(Element authenticationElement)
Creates appropriate AuthenticationStatement instanceprotected abstract AuthorizationDecisionStatementBase
createAuthorizationDecisionStatement(Element authDecisionElement)
Create appropriate AuthorizationDecisionStatement instanceprotected abstract Conditions
createConditions(Element conditionsElement)
Creates appropriate Conditions instanceString
getAssertionID()
Returns the assertion ID.Conditions
getConditions()
Returns the conditions of an assertion.Date
getIssueInstant()
Returns the time when the assertion was issued.String
getIssuer()
Returns the issuer of an assertion.int
getMajorVersion()
Returns the major version number of an assertion.int
getMinorVersion()
Returns the minor version number of an assertion.Element
getSignature()
Gets the Signature element of the Assertion.Set<Statement>
getStatement()
Returns a set ofStatement
contained within this assertion.boolean
isTimeValid()
Gets the validity of the assertion evaluating its conditions if specified.boolean
setAdvice(AdviceBase advice)
Sets the advice for an assertionprotected boolean
setAssertionID(String assertionID)
Set theAssertionID
for this assertionboolean
setConditions(Conditions conditions)
Sets the Conditions information for an assertionprotected boolean
setIssueInstant(Date issueInstant)
Set the time when the assertion was issuedprotected boolean
setIssuer(String issuer)
Sets the issuer for an assertionvoid
setMajorVersion(int majorVersion)
Sets the major version number of an assertion.void
setMinorVersion(int minorVersion)
Sets the minor version number of an assertion.boolean
setSignature(Element elem)
Sets the signature for the Requestvoid
signXML(String certAlias)
Signs the Assertion.String
toString()
Returns a String representation of the element.String
toString(boolean includeNS, boolean declareNS)
Returns a String representation of the<Assertion>
element.
-
-
-
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
TheConditions
element specifies conditions that affect the validity of the asserted statement.
-
_advice
protected AdviceBase _advice
TheAdvice
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:
- Constant Field Values
-
-
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 buildAssertion
object from a block of existing XML that has already been built into a DOM.- Parameters:
assertionElement
- Aorg.w3c.dom.Element
representing DOM tree forAssertion
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 ofStatement
(s) in the assertion.- Parameters:
assertionID
-assertionID
attribute contained within thisAssertion
if null, anassertionID
is generated internally.issuer
- The issuer of this assertion.issueInstant
- time instant of the issue. It has typedateTime
which is built in to the W3C XML Schema Types specification.if null, current time is used.statements
- set ofStatement
objects within thisAssertion
. It could be of typeAuthenticationStatement
,AuthorizationDecisionStatement
andAttributeStatement
. 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: theassertionID
, the issuer, time when assertion issued, the conditions when creating a new assertion and a set ofStatement
(s) in the assertion.- Parameters:
assertionID
-AssertionID
contained within thisAssertion
if null its generated internally.issuer
- The issuer of this assertion.issueInstant
- time instant of the issue. It has typedateTime
which is built in to the W3C XML Schema Types specification. if null, current time is used.conditions
-Conditions
under which the thisAssertion
is valid.statements
- Set ofStatement
objects within thisAssertion
. It could be of typeAuthenticationStatement
,AuthorizationDecisionStatement
andAttributeStatement
. 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: thessertionID
, the issuer, time when assertion issued, the conditions when creating a new assertion ,Advice
applicable to thisAssertion
and a set ofStatement
(s) in the assertion.- Parameters:
assertionID
-AssertionID
object contained within thisAssertion
if null its generated internally.issuer
- The issuer of this assertion.issueInstant
- Time instant of the issue. It has typedateTime
which is built in to the W3C XML Schema Types specification. if null, current time is used.conditions
-Conditions
under which the thisAssertion
is valid.advice
-Advice
applicable for thisAssertion
.statements
- Set ofStatement
objects within thisAssertion
. It could be of typeAuthenticationStatement
,AuthorizationDecisionStatement
andAttributeStatement
. 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) andNotOnOrAfter
(current time exclusive) values and true otherwise or if no conditions specified.
-
addStatement
public boolean addStatement(Statement statement)
Adds a statement to thisAssertion
- 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 theAssertionID
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 ofStatement
contained within this assertion.- Returns:
- a set of
Statement
contained within this assertion.
-
toString
public String toString()
Returns a String representation of the element.
-
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
-
-