com.sun.xml.wss.saml
Class SAMLAssertionFactory

java.lang.Object
  extended by com.sun.xml.wss.saml.SAMLAssertionFactory

public abstract class SAMLAssertionFactory
extends java.lang.Object


Field Summary
static java.lang.String SAML1_1
          SAML Version 1.1
 
Method Summary
abstract  Action createAction(java.lang.String action, java.lang.String namespace)
          Creates an Action element.
abstract  Advice createAdvice(java.util.List assertionidreference, java.util.List assertion, java.util.List otherelement)
          Creates an Advice element.
abstract  AnyType createAnyType()
          Creates an AnyType element if the System property "com.sun.xml.wss.saml.binding.jaxb" is set.
abstract  Assertion createAssertion(org.w3c.dom.Element element)
          Creates and returns an Assertion object from the given SAML org.w3c.dom.Element.
abstract  Assertion createAssertion(java.lang.String assertionID, java.lang.String issuer, java.util.GregorianCalendar issueInstant, Conditions conditions, Advice advice, java.util.List statements)
          Creates and return an Assertion from the data members: the assertionID, 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.
abstract  AssertionIDReference createAssertionIDReference()
          Creates and returns an AssertionIDReference object.
abstract  AssertionIDReference createAssertionIDReference(java.lang.String id)
          Creates and returns an AssertionIDReference object.
abstract  Attribute createAttribute(java.lang.String name, java.lang.String nameSpace, java.util.List values)
          Constructs an instance of Attribute.
abstract  AttributeDesignator createAttributeDesignator(java.lang.String name, java.lang.String nameSpace)
          Constructs an instance of AttributeDesignator.
abstract  AttributeStatement createAttributeStatement(Subject subj, java.util.List attr)
          Constructs an instance of AttributeStatement.
abstract  AudienceRestrictionCondition createAudienceRestrictionCondition(java.util.List audience)
          Constructs an instance of AudienceRestrictionCondition.
abstract  AuthenticationStatement createAuthenticationStatement(java.lang.String authMethod, java.util.GregorianCalendar authInstant, Subject subject, SubjectLocality subjectLocality, java.util.List authorityBinding)
          Constructs an instance of AuthenticationStatement.
abstract  AuthorityBinding createAuthorityBinding(javax.xml.namespace.QName authKind, java.lang.String location, java.lang.String binding)
          Constructs an instance of AuthorityBinding.
abstract  AuthorizationDecisionStatement createAuthorizationDecisionStatement(Subject subject, java.lang.String resource, java.lang.String decision, java.util.List action, Evidence evidence)
          Constructs an instance of AuthorizationDecisionStatement.
abstract  Conditions createConditions()
          Constructs an instance of default Conditions object.
abstract  Conditions createConditions(java.util.GregorianCalendar notBefore, java.util.GregorianCalendar notOnOrAfter, java.util.List condition, java.util.List arc, java.util.List doNotCacheCnd)
          Constructs an instance of Conditions.
abstract  DoNotCacheCondition createDoNotCacheCondition()
          Constructs an instance of DoNotCacheCondition
abstract  Evidence createEvidence(java.util.List assertionIDRef, java.util.List assertion)
          Constructs an Evidence from a List of Assertion and AssertionIDReference objects.
abstract  NameIdentifier createNameIdentifier(java.lang.String name, java.lang.String nameQualifier, java.lang.String format)
          Constructs a NameQualifier instance.
abstract  Subject createSubject(NameIdentifier nameIdentifier, SubjectConfirmation subjectConfirmation)
          Constructs a Subject object from a NameIdentifier object and a SubjectConfirmation object.
abstract  SubjectConfirmation createSubjectConfirmation(java.util.List confirmationMethods, org.w3c.dom.Element subjectConfirmationData, org.w3c.dom.Element keyInfo)
          Constructs a SubjectConfirmation instance.
abstract  SubjectConfirmation createSubjectConfirmation(java.lang.String confirmationMethod)
          Creates and returns a SubjectConfirmation object.
abstract  SubjectLocality createSubjectLocality()
          Constructs a SubjectLocality instance.
abstract  SubjectLocality createSubjectLocality(java.lang.String ipAddress, java.lang.String dnsAddress)
          Constructs an instance of SubjectLocality.
static SAMLAssertionFactory newInstance(java.lang.String samlVersion)
          Create an instance of SAMLAssertionFactory.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SAML1_1

public static java.lang.String SAML1_1
SAML Version 1.1

Method Detail

newInstance

public static SAMLAssertionFactory newInstance(java.lang.String samlVersion)
                                        throws XWSSecurityException
Create an instance of SAMLAssertionFactory.

Parameters:
samlVersion - A String representing the saml version. Possible values {SAMLAssertionFactory.SAML1_1}
Throws:
XWSSecurityException

createAction

public abstract Action createAction(java.lang.String action,
                                    java.lang.String namespace)
Creates an Action element.

Parameters:
namespace - The attribute "namespace" of Action element
action - A String representing an action

createAdvice

public abstract Advice createAdvice(java.util.List assertionidreference,
                                    java.util.List assertion,
                                    java.util.List otherelement)
Creates an Advice element.

Parameters:
assertionidreference - A List of AssertionIDReference.
assertion - A List of Assertion
otherelement - A List of any element defined as

createAnyType

public abstract AnyType createAnyType()
Creates an AnyType element if the System property "com.sun.xml.wss.saml.binding.jaxb" is set. Otherwise returns null.


createAssertion

public abstract Assertion createAssertion(java.lang.String assertionID,
                                          java.lang.String issuer,
                                          java.util.GregorianCalendar issueInstant,
                                          Conditions conditions,
                                          Advice advice,
                                          java.util.List statements)
                                   throws SAMLException
Creates and return an Assertion from the data members: the assertionID, 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 - List 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.

createAssertion

public abstract Assertion createAssertion(org.w3c.dom.Element element)
                                   throws SAMLException
Creates and returns an Assertion object from the given SAML org.w3c.dom.Element.

Parameters:
element - 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.

createAssertionIDReference

public abstract AssertionIDReference createAssertionIDReference()
Creates and returns an AssertionIDReference object. AssertionID will be generated automatically.

Returns:
null if the system property "com.sun.xml.wss.saml.binding.jaxb" is not set otherwise returns AssertionIDReference.

createAssertionIDReference

public abstract AssertionIDReference createAssertionIDReference(java.lang.String id)
Creates and returns an AssertionIDReference object.

Parameters:
id - String of an AssertionID
Returns:
null if the system property "com.sun.xml.wss.saml.binding.jaxb" is not set otherwise returns AssertionIDReference.

createAttribute

public abstract Attribute createAttribute(java.lang.String name,
                                          java.lang.String nameSpace,
                                          java.util.List values)
Constructs an instance of Attribute.

Parameters:
name - A String representing AttributeName (the name of the attribute).
nameSpace - A String representing the namespace in which AttributeName elements are interpreted.
values - A List representing the AttributeValue object.

createAttributeDesignator

public abstract AttributeDesignator createAttributeDesignator(java.lang.String name,
                                                              java.lang.String nameSpace)
Constructs an instance of AttributeDesignator.

Parameters:
name - the name of the attribute.
nameSpace - the namespace in which AttributeName elements are interpreted.

createAttributeStatement

public abstract AttributeStatement createAttributeStatement(Subject subj,
                                                            java.util.List attr)
Constructs an instance of AttributeStatement.

Parameters:
subj - SAML Subject
attr - List of attributes

createAudienceRestrictionCondition

public abstract AudienceRestrictionCondition createAudienceRestrictionCondition(java.util.List audience)
Constructs an instance of AudienceRestrictionCondition. It takes in a List of audience for this condition, each of them being a String.

Parameters:
audience - A List of audience to be included within this condition

createAuthenticationStatement

public abstract AuthenticationStatement createAuthenticationStatement(java.lang.String authMethod,
                                                                      java.util.GregorianCalendar authInstant,
                                                                      Subject subject,
                                                                      SubjectLocality subjectLocality,
                                                                      java.util.List authorityBinding)
Constructs an instance of AuthenticationStatement.

Parameters:
authMethod - (optional) A String specifies the type of authentication that took place. Pass null if not required.
authInstant - (optional) A GregorianCalendar object specifing the time at which the authentication that took place. Pass null if not required.
subject - (required) A Subject object
subjectLocality - (optional) A SubjectLocality object. Pass null if not required.
authorityBinding - (optional) A List of AuthorityBinding. Pass null if not required. objects.

createAuthorityBinding

public abstract AuthorityBinding createAuthorityBinding(javax.xml.namespace.QName authKind,
                                                        java.lang.String location,
                                                        java.lang.String binding)
Constructs an instance of AuthorityBinding.

Parameters:
authKind - A QName representing the type of SAML protocol queries to which the authority described by this element will respond.
location - A String representing a URI reference describing how to locate and communicate with the authority.
binding - A String representing a URI reference identifying the SAML protocol binding to use in communicating with the authority.

createAuthorizationDecisionStatement

public abstract AuthorizationDecisionStatement createAuthorizationDecisionStatement(Subject subject,
                                                                                    java.lang.String resource,
                                                                                    java.lang.String decision,
                                                                                    java.util.List action,
                                                                                    Evidence evidence)
Constructs an instance of AuthorizationDecisionStatement.

Parameters:
subject - (required) A Subject object
resource - (required) A String identifying the resource to which access authorization is sought.
decision - (required) The decision rendered by the issuer with respect to the specified resource.
action - (required) A List of Action objects specifying the set of actions authorized to be performed on the specified resource.
evidence - (optional) An Evidence object representing a set of assertions that the issuer replied on in making decisions.

createConditions

public abstract Conditions createConditions()
Constructs an instance of default Conditions object.


createConditions

public abstract Conditions createConditions(java.util.GregorianCalendar notBefore,
                                            java.util.GregorianCalendar notOnOrAfter,
                                            java.util.List condition,
                                            java.util.List arc,
                                            java.util.List doNotCacheCnd)
Constructs an instance of Conditions.

Parameters:
notBefore - specifies the earliest time instant at which the assertion is valid.
notOnOrAfter - specifies the time instant at which the assertion has expired.
condition -
arc - the AudienceRestrictionCondition to be added. Can be null, if no audience restriction.
doNotCacheCnd -

createDoNotCacheCondition

public abstract DoNotCacheCondition createDoNotCacheCondition()
Constructs an instance of DoNotCacheCondition


createEvidence

public abstract Evidence createEvidence(java.util.List assertionIDRef,
                                        java.util.List assertion)
Constructs an Evidence from a List of Assertion and AssertionIDReference objects.

Parameters:
assertionIDRef - List of AssertionIDReference objects.
assertion - List of Assertion objects.

createNameIdentifier

public abstract NameIdentifier createNameIdentifier(java.lang.String name,
                                                    java.lang.String nameQualifier,
                                                    java.lang.String format)
Constructs a NameQualifier instance.

Parameters:
name - The string representing the name of the Subject
nameQualifier - The security or administrative domain that qualifies the name of the Subject. This is optional could be null.
format - The syntax used to describe the name of the Subject. This optional, could be null.

createSubject

public abstract Subject createSubject(NameIdentifier nameIdentifier,
                                      SubjectConfirmation subjectConfirmation)
Constructs a Subject object from a NameIdentifier object and a SubjectConfirmation object.

Parameters:
nameIdentifier - NameIdentifier object.
subjectConfirmation - SubjectConfirmation object.

createSubjectConfirmation

public abstract SubjectConfirmation createSubjectConfirmation(java.lang.String confirmationMethod)
Creates and returns a SubjectConfirmation object.

Parameters:
confirmationMethod - A URI (String) that identifies a protocol used to authenticate a Subject. Please refer to draft-sstc-core-25 Section 7 for a list of URIs identifying common authentication protocols.

createSubjectConfirmation

public abstract SubjectConfirmation createSubjectConfirmation(java.util.List confirmationMethods,
                                                              org.w3c.dom.Element subjectConfirmationData,
                                                              org.w3c.dom.Element keyInfo)
                                                       throws SAMLException
Constructs a SubjectConfirmation instance.

Parameters:
confirmationMethods - A list of confirmationMethods each of which is a URI (String) that identifies a protocol used to authenticate a Subject. Please refer to draft-sstc-core-25 Section 7 for a list of URIs identifying common authentication protocols.
subjectConfirmationData - Additional authentication information to be used by a specific authentication protocol. Can be passed as null if there is no subjectConfirmationData for the SubjectConfirmation object.
keyInfo - An XML signature element that specifies a cryptographic key held by the Subject.
Throws:
SAMLException

createSubjectLocality

public abstract SubjectLocality createSubjectLocality()
Constructs a SubjectLocality instance.


createSubjectLocality

public abstract SubjectLocality createSubjectLocality(java.lang.String ipAddress,
                                                      java.lang.String dnsAddress)
Constructs an instance of SubjectLocality.

Parameters:
ipAddress - String representing the IP Address of the entity that was authenticated.
dnsAddress - String representing the DNS Address of the entity that was authenticated. As per SAML specification they are both optional, so values can be null.


Copyright ? 2005 Sun Microsystems, Inc. All Rights Reserved.