Package com.sun.identity.saml.assertion
Class AssertionBase
java.lang.Object
com.sun.identity.saml.assertion.AssertionBase
- Direct Known Subclasses:
Assertion
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 Summary
Modifier and TypeFieldDescriptionprotected AdviceBase
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
The _assertionID attribute specifies the assertion identifier.protected Conditions
TheConditions
element specifies conditions that affect the validity of the asserted statement.protected Date
The IssueInstant attribute specifies the time instant of issue in Universal Coordinated Time.protected String
The Issuer attribute specifies the issuer of the assertion by means of a string.protected int
This value specifies the SAML major version.protected int
This value specifies the SAML minor version.The statements variable is a HashSet of all the stataments in this assertion in the defined sequenceprotected static final String
protected Element
protected String
protected boolean
protected boolean
protected String
-
Constructor Summary
ModifierConstructorDescriptionprotected
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.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
Modifier and TypeMethodDescriptionboolean
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 instanceReturns the assertion ID.Returns the conditions of an assertion.Returns the time when the assertion was issued.Returns the issuer of an assertion.int
Returns the major version number of an assertion.int
Returns the minor version number of an assertion.Gets the Signature element of the Assertion.Returns a set ofStatement
contained within this assertion.boolean
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
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
Signs the Assertion.toString()
Returns a String representation of the element.toString
(boolean includeNS, boolean declareNS) Returns a String representation of the<Assertion>
element.
-
Field Details
-
_statements
The statements variable is a HashSet of all the stataments in this assertion in the defined sequence -
_majorVersion
protected int _majorVersionThis 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 _minorVersionThis 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
The _assertionID attribute specifies the assertion identifier. -
_issuer
The Issuer attribute specifies the issuer of the assertion by means of a string. -
_issueInstant
The IssueInstant attribute specifies the time instant of issue in Universal Coordinated Time. -
_conditions
TheConditions
element specifies conditions that affect the validity of the asserted statement. -
_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
-
signatureString
-
signature
-
signed
protected boolean signed -
validationDone
protected boolean validationDone -
ASSERTION_ID_ATTRIBUTE
- See Also:
-
-
Constructor Details
-
AssertionBase
protected AssertionBase()Default constructor, declaring protected to enable extensibility -
AssertionBase
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 Details
-
signXML
Signs the Assertion.- Parameters:
certAlias
- certification Alias used to sign Assertion.- Throws:
SAMLException
- if it could not sign the Assertion.
-
getSignature
Gets the Signature element of the Assertion.- Returns:
- Element the Signature of the Assertion in DOM element.
-
setSignature
Sets the signature for the Request- Parameters:
elem
- ds:Signature element- Returns:
- A boolean value: true if the operation succeeds; false otherwise.
-
createAdvice
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
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
Adds a statement to thisAssertion
- Parameters:
statement
-Statement
to be added- Returns:
- boolean indicating success or failure of operation.
-
setIssueInstant
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
Set theAssertionID
for this assertion- Parameters:
assertionID
- : a String representing id of this assertion.- Returns:
- A boolean indicating the success of the operation.
-
setIssuer
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
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
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
Returns the time when the assertion was issued.- Returns:
- The time in
java.util.Date
format.
-
getIssuer
Returns the issuer of an assertion.- Returns:
- The issuer of an assertion.
-
getAssertionID
Returns the assertion ID.- Returns:
- Assertion ID of the assertion.
-
getConditions
Returns the conditions of an assertion.- Returns:
Conditions
object containing conditions for an assertion being valid.
-
getStatement
Returns a set ofStatement
contained within this assertion.- Returns:
- a set of
Statement
contained within this assertion.
-
toString
Returns a String representation of the element. -
toString
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
-