Skip navigation links

Oracle Security Developer Tools SAML 2.0 Java API Reference
11g (11.1.1)

E10676-02


oracle.security.xmlsec.saml2.protocol
Class RequestAbstract

java.lang.Object
  extended by oracle.security.xmlsec.util.XMLNode
      extended by oracle.security.xmlsec.util.XMLElement
          extended by oracle.security.xmlsec.saml2.protocol.RequestAbstract

Direct Known Subclasses:
ArtifactResolve, AssertionIDRequest, AuthnRequest, LogoutRequest, ManageNameIDRequest, NameIDMappingRequest, SubjectQuery

public abstract class RequestAbstract
extends oracle.security.xmlsec.util.XMLElement

Represents an abstract SAML message. All request and response messages are derived from this class.


Field Summary
protected static java.lang.String VERSION
           

 

Fields inherited from class oracle.security.xmlsec.util.XMLNode
node, systemId

 

Constructor Summary
protected RequestAbstract(org.w3c.dom.Document owner, java.lang.String nsURI, java.lang.String localName)
          Creates a new Request instance.
  RequestAbstract(org.w3c.dom.Element element)
          Creates a new Request instance from the given Element node.
  RequestAbstract(org.w3c.dom.Element element, java.lang.String systemId)
          Creates a new Request instance from the given Element node.

 

Method Summary
 oracle.security.xmlsec.dsig.XSSignature addSignature(java.lang.String signatureMethod, java.lang.String c14nMethod)
          Creates a new XML-DSIG Signature element and inserts it into this element, replacing any exisiting XML-DSIG Signature element.
 oracle.security.xmlsec.dsig.XSSignature addSignature(java.lang.String signatureMethod, java.lang.String c14nMethod, java.lang.String digestMethod)
          Creates a new XML-DSIG Signature element and inserts it into this element, replacing any exisiting XML-DSIG Signature element.
protected  void clearSignature()
          Removes any exisiting XML-DSIG Signature elements from this message.
 java.lang.String getConsent()
          Indicate whether consent has been obtained in sending this request.
 java.lang.String getDestination()
          Returns the address to which this request has been sent.
 Extensions getExtensions()
          Returns the SAML protocols extensions.
 java.lang.String getID()
          Returns the identifier attribute for this Request.
 java.util.Date getIssueInstant()
          Returns the time instant of issual of this request.
 Issuer getIssuer()
          Returns the name of this issuer of this request.
 oracle.security.xmlsec.dsig.XSSignature getSignature()
          Returns the XML Signature child element from this element.
 java.lang.String getVersion()
          Returns the version this Request.
 boolean isSigned()
          Indicates if this element was signed.
 void setConsent(java.lang.String consent)
          Indicate whether consent has been obtained in sending this request.
 void setDestination(java.lang.String destURI)
          Sets the address to which this request has been sent.
 void setExtensions(Extensions extension)
          Sets the SAML protocol extensions.
 void setID(java.lang.String requestID)
          Sets the identifier attribute for this Request object.
 void setIssueInstant(java.util.Date issueInstant)
          Sets the time instant of issual of this request as a UTC time.
 void setIssuer(NameID issuer)
          Sets the name of the issuer of this request.
 void setVersion(java.lang.String ver)
          Sets the version of this Request.
 void sign(java.security.PrivateKey privateKey, java.security.cert.X509Certificate cert)
          Signs this element with the given private key, and includes the given certificate in the KeyInfo child element of the resulting XML-DSIG Signature element.
 void sign(java.security.PrivateKey privateKey, java.security.cert.X509Certificate cert, java.lang.String c14nMethod)
          Signs this element with the given private key, and includes the given certificate in the KeyInfo child element of the resulting XML-DSIG Signature element.
 boolean verify()
          Verifies the signature using a key obtained either from the KeyInfo element (if any is present) or via the oracle.security.xmlsec.keys.retrieval.KeyRetriever mechanism.
 boolean verify(java.security.PublicKey publicKey)
          Verifies the signature with the given public key.

 

Methods inherited from class oracle.security.xmlsec.util.XMLElement
addNSPrefixAttr, addNSPrefixAttr, addNSPrefixAttrDefault, addNSPrefixAttrDefault, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getChildElementsByTagName, getChildElementsByTagName, getChildElementsByTagNameNS, getChildElementsByTagNameNS, getDefaultNSPrefix, getElement, getElementsByTagName, getElementsByTagNameNS, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setDefaultNSPrefix

 

Methods inherited from class oracle.security.xmlsec.util.XMLNode
appendChild, appendChild, appendTo, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNode, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getSystemId, hasAttributes, hasChildNodes, insertBefore, insertBefore, isSupported, normalize, removeChild, removeChild, replaceChild, replaceChild, setNodeValue, setPrefix, setSystemId, toBytesXML, toStringXML

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

VERSION

protected static java.lang.String VERSION

Constructor Detail

RequestAbstract

public RequestAbstract(org.w3c.dom.Element element)
                throws org.w3c.dom.DOMException
Creates a new Request instance from the given Element node.
Parameters:
element - An Request element.
Throws:
org.w3c.dom.DOMException

RequestAbstract

public RequestAbstract(org.w3c.dom.Element element,
                       java.lang.String systemId)
                throws org.w3c.dom.DOMException
Creates a new Request instance from the given Element node.
Parameters:
element - An Request element.
systemId - The URI string system ID for the Request.
Throws:
org.w3c.dom.DOMException

RequestAbstract

protected RequestAbstract(org.w3c.dom.Document owner,
                          java.lang.String nsURI,
                          java.lang.String localName)
                   throws org.w3c.dom.DOMException
Creates a new Request instance. This constructor is for use in subclass for extension of the Request element.
Parameters:
owner - The owner document of the new Request.
nsURI - The namespace URI in which the new Request is to be created.
localName - The localName of the element represented by the class that extends this class.
Throws:
org.w3c.dom.DOMException

Method Detail

setVersion

public void setVersion(java.lang.String ver)
Sets the version of this Request.
Parameters:
ver - The version number String.

getVersion

public java.lang.String getVersion()
Returns the version this Request.
Returns:
The version number String, or null if not specified.

setID

public void setID(java.lang.String requestID)
Sets the identifier attribute for this Request object.
Parameters:
requestID - A unique identifier String.

getID

public java.lang.String getID()
Returns the identifier attribute for this Request.
Returns:
The String value of the ID or null if none has been set.

setIssueInstant

public void setIssueInstant(java.util.Date issueInstant)
Sets the time instant of issual of this request as a UTC time.
Parameters:
issueInstant - The Date object representing the issue time.

getIssueInstant

public java.util.Date getIssueInstant()
Returns the time instant of issual of this request.
Returns:
A Date object representing the issue time or null if none has been set.

setDestination

public void setDestination(java.lang.String destURI)
Sets the address to which this request has been sent.
Parameters:
destURI - An URI reference identifying the request destination.

getDestination

public java.lang.String getDestination()
Returns the address to which this request has been sent.
Returns:
A URI String or null if none has been set.

setConsent

public void setConsent(java.lang.String consent)
Indicate whether consent has been obtained in sending this request.
Parameters:
consent - A URI value.

getConsent

public java.lang.String getConsent()
Indicate whether consent has been obtained in sending this request.
Returns:
A URI value or null if none has been set.

setIssuer

public void setIssuer(NameID issuer)
Sets the name of the issuer of this request.
Parameters:
issuer - The issuer's name identifier.

getIssuer

public Issuer getIssuer()
Returns the name of this issuer of this request.
Returns:
The Issuer of the issuer or null if none has been set.

setExtensions

public void setExtensions(Extensions extension)
Sets the SAML protocol extensions.
Parameters:
extension - A Extension object.

getExtensions

public Extensions getExtensions()
Returns the SAML protocols extensions.
Returns:
A Extension object or null if none has been set.

getSignature

public oracle.security.xmlsec.dsig.XSSignature getSignature()
Returns the XML Signature child element from this element.
Returns:
A XSSignature object or null if no signature is present.

isSigned

public boolean isSigned()
Indicates if this element was signed.
Returns:
true if a signature is present, false otherwise.

sign

public void sign(java.security.PrivateKey privateKey,
                 java.security.cert.X509Certificate cert)
          throws oracle.security.xmlsec.dsig.SigningException
Signs this element with the given private key, and includes the given certificate in the KeyInfo child element of the resulting XML-DSIG Signature element. The default canonicalization method is XML-EXCLUSIVE-C14N.
Parameters:
privateKey - The private key to use for the signature computation.
cert - The X509 certificate corresponding to the private key.
Throws:
oracle.security.xmlsec.dsig.SigningException

sign

public void sign(java.security.PrivateKey privateKey,
                 java.security.cert.X509Certificate cert,
                 java.lang.String c14nMethod)
          throws oracle.security.xmlsec.dsig.SigningException
Signs this element with the given private key, and includes the given certificate in the KeyInfo child element of the resulting XML-DSIG Signature element.
Parameters:
privateKey - The private key to use for the signature computation.
cert - The X509 certificate corresponding to the private key.
c14nMethod - The URI identifying the canonicalization method to be applied to the SignedInfo structure.
Throws:
oracle.security.xmlsec.dsig.SigningException

addSignature

public oracle.security.xmlsec.dsig.XSSignature addSignature(java.lang.String signatureMethod,
                                                            java.lang.String c14nMethod)
Creates a new XML-DSIG Signature element and inserts it into this element, replacing any exisiting XML-DSIG Signature element. The default message digest algorithm is SHA-1.

Note: This method does not compute the SignatureValue or create a KeyInfo child element for the Signature element so, at a minimum, one of the sign() methods must be invoked on the returned XSSignature object.

This method is intended for use by developers who need to customize the Signature element (e.g., add custom Transform elements) the computation of the SignatureValue (e.g., using an HMAC signature algorithm) or the KeyInfo element. For most developers, either the #sign(PrivateKey, X509) or #sign(PrivateKey, X509, String) method should be sufficient.

Parameters:
signatureMethod - The value of the Algorithm attribute of the SignatureMethod element contained within the new Signature element's SignedInfo child element (e.g., oracle.security.xmlsec.util.XMLURI.alg_rsaWithSHA1).
c14nMethod - The value of the Algorithm attribute of the CanonicalizationMethod element contained within the new Signature element's SignedInfo child element (e.g., oracle.security.xmlsec.util.XMLURI.alg_c14nWithComments).
Returns:
The new oracle.security.xmlsec.dsig.XSSignature object.

addSignature

public oracle.security.xmlsec.dsig.XSSignature addSignature(java.lang.String signatureMethod,
                                                            java.lang.String c14nMethod,
                                                            java.lang.String digestMethod)
Creates a new XML-DSIG Signature element and inserts it into this element, replacing any exisiting XML-DSIG Signature element.

Note: This method does not compute the SignatureValue or create a KeyInfo child element for the Signature element so, at a minimum, one of the sign() methods must be invoked on the returned XSSignature object.

This method is intended for use by developers who need to customize the Signature element (e.g., add custom Transform elements) the computation of the SignatureValue (e.g., using an HMAC signature algorithm) or the KeyInfo element. For most developers, either the #sign(PrivateKey, X509) or #sign(PrivateKey, X509, String) method should be sufficient.

Parameters:
signatureMethod - The value of the Algorithm attribute of the SignatureMethod element contained within the new Signature element's SignedInfo child element (e.g., oracle.security.xmlsec.util.XMLURI.alg_rsaWithSHA1).
c14nMethod - The value of the Algorithm attribute of the CanonicalizationMethod element contained within the new Signature element's SignedInfo child element (e.g., oracle.security.xmlsec.util.XMLURI.alg_c14nWithComments).
digestMethod - The value of the Algorithm attribute of the DigestMethod element contained within the new Signature element's Reference child element (e.g., oracle.security.xmlsec.util.XMLURI.alg_sha1).
Returns:
The new oracle.security.xmlsec.dsig.XSSignature object.

verify

public boolean verify()
               throws oracle.security.xmlsec.dsig.VerifyException
Verifies the signature using a key obtained either from the KeyInfo element (if any is present) or via the oracle.security.xmlsec.keys.retrieval.KeyRetriever mechanism. Any Manifests referenced by the signature will be validated.
Returns:
true if the verification succeeded, or false if the verification failed.
Throws:
oracle.security.xmlsec.dsig.VerifyException - If an error occurs while verifying the signature, or if no signature is present in this message.

verify

public boolean verify(java.security.PublicKey publicKey)
               throws oracle.security.xmlsec.dsig.VerifyException
Verifies the signature with the given public key. Any Manifests referenced by the signature will be validated.
Parameters:
publicKey - The public key used for verifying the signature.
Returns:
true if the verification succeeded, or false if the verification failed.
Throws:
oracle.security.xmlsec.dsig.VerifyException - If an error occurs while verifying the signature, or if no signature is present in this message.

clearSignature

protected void clearSignature()
Removes any exisiting XML-DSIG Signature elements from this message.

Skip navigation links

Oracle Security Developer Tools SAML 2.0 Java API Reference
11g (11.1.1)

E10676-02


Copyright © 2005, 2009, Oracle. All rights reserved.