org.apache.xml.security.signature
Class XMLSignature

java.lang.Object
  |
  +--org.apache.xml.security.utils.ElementProxy
        |
        +--org.apache.xml.security.utils.SignatureElementProxy
              |
              +--org.apache.xml.security.signature.XMLSignature

public class XMLSignature
extends SignatureElementProxy

Handles <ds:Signature> elements

Author:
$Author: geuerp $

Field Summary
static java.lang.String ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5
           
static java.lang.String ALGO_ID_MAC_HMAC_RIPEMD160
           
static java.lang.String ALGO_ID_MAC_HMAC_SHA1
          MAC - Required HMAC-SHA1
static java.lang.String ALGO_ID_MAC_HMAC_SHA256
           
static java.lang.String ALGO_ID_MAC_HMAC_SHA384
           
static java.lang.String ALGO_ID_MAC_HMAC_SHA512
           
static java.lang.String ALGO_ID_SIGNATURE_DSA
          Signature - Required DSAwithSHA1 (DSS)
static java.lang.String ALGO_ID_SIGNATURE_NOT_RECOMMENDED_RSA_MD5
           
static java.lang.String ALGO_ID_SIGNATURE_RSA
          Signature - Recommended RSAwithSHA1
static java.lang.String ALGO_ID_SIGNATURE_RSA_RIPEMD160
           
static java.lang.String ALGO_ID_SIGNATURE_RSA_SHA1
           
static java.lang.String ALGO_ID_SIGNATURE_RSA_SHA256
           
static java.lang.String ALGO_ID_SIGNATURE_RSA_SHA384
           
static java.lang.String ALGO_ID_SIGNATURE_RSA_SHA512
           
 
Fields inherited from class org.apache.xml.security.utils.ElementProxy
_baseURI, _constructionElement, _doc, _state, MODE_CREATE, MODE_DECRYPT, MODE_ENCRYPT, MODE_PROCESS, MODE_SIGN, MODE_UNKNOWN, MODE_VERIFY
 
Constructor Summary
XMLSignature(org.w3c.dom.Document doc, java.lang.String BaseURI, java.lang.String signatureAlgorithmURI)
          This creates a new ds:Signature Element and adds an empty ds:SignedInfo to it.
XMLSignature(org.w3c.dom.Element element, java.lang.String BaseURI)
          Constructor XMLSignature
 
Method Summary
 void addDocument(java.lang.String referenceURI)
          Method addDocument
 void addDocument(java.lang.String referenceURI, Transforms trans)
          Method addDocument
 void addDocument(java.lang.String referenceURI, Transforms trans, java.lang.String digestURI)
          This method is a proxy method for the Manifest.addDocument(java.lang.String, java.lang.String, org.apache.xml.security.transforms.Transforms, java.lang.String, java.lang.String, java.lang.String) method
 void addDocument(java.lang.String referenceURI, Transforms trans, java.lang.String digestURI, java.lang.String ReferenceId, java.lang.String ReferenceType)
          Method addDocument
 void addKeyInfo(java.security.PublicKey pk)
          Method addToKeyInfo
 void addKeyInfo(java.security.cert.X509Certificate cert)
          Method addToKeyInfoCompleteCertificate
 void addResourceResolver(ResourceResolver resolver)
          Method addResourceResolver
 void addResourceResolver(ResourceResolverSpi resolver)
          Method addResourceResolver
 void appendObject(ObjectContainer object)
          Method appendObject
 boolean checkSignatureValue(java.security.Key pk)
          Method checkSignatureValue
 boolean checkSignatureValue(java.security.cert.X509Certificate cert)
          Method checkSignatureValue
 javax.crypto.SecretKey createSecretKey(byte[] secretKeyBytes)
          Proxy method for SignedInfo.createSecretKey(byte[])
 java.lang.String getBaseLocalName()
          Method getBaseLocalName
 java.lang.String getId()
          Returns the Id attribute
 KeyInfo getKeyInfo()
          Returns the KeyInfo child.
 ObjectContainer getObjectItem(int i)
          Method objectItem
 int getObjectLength()
          Method getObjectLength
 byte[] getSignatureValue()
          Method getSignatureValue
 SignedInfo getSignedInfo()
          Method getSignedInfo
 void setFollowNestedManifests(boolean followManifests)
          Method setFollowNestedManifests
 void setId(java.lang.String Id)
          Sets the Id attribute
 void sign(java.security.PrivateKey privateKey)
          Method sign
 void sign(javax.crypto.SecretKey secretKey)
          Method sign
 boolean verify()
          Method sign
 
Methods inherited from class org.apache.xml.security.utils.SignatureElementProxy
getBaseNamespace
 
Methods inherited from class org.apache.xml.security.utils.ElementProxy
addBase64Element, addBase64Text, addBigIntegerElement, addText, addTextElement, createElementForFamily, getBaseURI, getBigIntegerFromChildElement, getBytesFromChildElement, getBytesFromTextChild, getChildElementLocalName, getDefaultPrefix, getDocument, getElement, getElementPlusReturns, getTextFromChildElement, getTextFromTextChild, guaranteeThatElementInCorrectSpace, length, setDefaultPrefix, setElement, setXPathNamespaceContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALGO_ID_MAC_HMAC_SHA1

public static final java.lang.String ALGO_ID_MAC_HMAC_SHA1
MAC - Required HMAC-SHA1

See Also:
Constant Field Values

ALGO_ID_SIGNATURE_DSA

public static final java.lang.String ALGO_ID_SIGNATURE_DSA
Signature - Required DSAwithSHA1 (DSS)

See Also:
Constant Field Values

ALGO_ID_SIGNATURE_RSA

public static final java.lang.String ALGO_ID_SIGNATURE_RSA
Signature - Recommended RSAwithSHA1

See Also:
Constant Field Values

ALGO_ID_SIGNATURE_RSA_SHA1

public static final java.lang.String ALGO_ID_SIGNATURE_RSA_SHA1
See Also:
Constant Field Values

ALGO_ID_SIGNATURE_NOT_RECOMMENDED_RSA_MD5

public static final java.lang.String ALGO_ID_SIGNATURE_NOT_RECOMMENDED_RSA_MD5
See Also:
Constant Field Values

ALGO_ID_SIGNATURE_RSA_RIPEMD160

public static final java.lang.String ALGO_ID_SIGNATURE_RSA_RIPEMD160
See Also:
Constant Field Values

ALGO_ID_SIGNATURE_RSA_SHA256

public static final java.lang.String ALGO_ID_SIGNATURE_RSA_SHA256
See Also:
Constant Field Values

ALGO_ID_SIGNATURE_RSA_SHA384

public static final java.lang.String ALGO_ID_SIGNATURE_RSA_SHA384
See Also:
Constant Field Values

ALGO_ID_SIGNATURE_RSA_SHA512

public static final java.lang.String ALGO_ID_SIGNATURE_RSA_SHA512
See Also:
Constant Field Values

ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5

public static final java.lang.String ALGO_ID_MAC_HMAC_NOT_RECOMMENDED_MD5
See Also:
Constant Field Values

ALGO_ID_MAC_HMAC_RIPEMD160

public static final java.lang.String ALGO_ID_MAC_HMAC_RIPEMD160
See Also:
Constant Field Values

ALGO_ID_MAC_HMAC_SHA256

public static final java.lang.String ALGO_ID_MAC_HMAC_SHA256
See Also:
Constant Field Values

ALGO_ID_MAC_HMAC_SHA384

public static final java.lang.String ALGO_ID_MAC_HMAC_SHA384
See Also:
Constant Field Values

ALGO_ID_MAC_HMAC_SHA512

public static final java.lang.String ALGO_ID_MAC_HMAC_SHA512
See Also:
Constant Field Values
Constructor Detail

XMLSignature

public XMLSignature(org.w3c.dom.Document doc,
                    java.lang.String BaseURI,
                    java.lang.String signatureAlgorithmURI)
             throws XMLSecurityException
This creates a new ds:Signature Element and adds an empty ds:SignedInfo to it.

Parameters:
doc -
BaseURI -
signatureAlgorithmURI -
Throws:
XMLSecurityException

XMLSignature

public XMLSignature(org.w3c.dom.Element element,
                    java.lang.String BaseURI)
             throws XMLSignatureException,
                    XMLSecurityException,
                    java.io.IOException
Constructor XMLSignature

Parameters:
element -
BaseURI -
Throws:
java.io.IOException
XMLSecurityException
XMLSignatureException
Method Detail

setId

public void setId(java.lang.String Id)
Sets the Id attribute

Parameters:
Id - ID

getId

public java.lang.String getId()
Returns the Id attribute

Returns:
the Id attribute

getSignedInfo

public SignedInfo getSignedInfo()
Method getSignedInfo

Returns:

getSignatureValue

public byte[] getSignatureValue()
                         throws XMLSignatureException
Method getSignatureValue

Returns:
Throws:
XMLSignatureException

getKeyInfo

public KeyInfo getKeyInfo()
Returns the KeyInfo child. If we are in signing mode and the KeyInfo does not exist yet, we create it and add it to the Signature.

Returns:
the KeyInfo object

appendObject

public void appendObject(ObjectContainer object)
                  throws XMLSignatureException
Method appendObject

Parameters:
object -
Throws:
XMLSignatureException

getObjectItem

public ObjectContainer getObjectItem(int i)
Method objectItem

Parameters:
i -
Returns:

getObjectLength

public int getObjectLength()
Method getObjectLength

Returns:

sign

public void sign(java.security.PrivateKey privateKey)
          throws XMLSignatureException
Method sign

Parameters:
privateKey -
Throws:
XMLSignatureException

sign

public void sign(javax.crypto.SecretKey secretKey)
          throws XMLSignatureException
Method sign

Parameters:
secretKey -
Throws:
XMLSignatureException

verify

public boolean verify()
               throws XMLSignatureException
Method sign

Returns:
Throws:
XMLSignatureException

addResourceResolver

public void addResourceResolver(ResourceResolver resolver)
Method addResourceResolver

Parameters:
resolver -

addResourceResolver

public void addResourceResolver(ResourceResolverSpi resolver)
Method addResourceResolver

Parameters:
resolver -

checkSignatureValue

public boolean checkSignatureValue(java.security.cert.X509Certificate cert)
                            throws XMLSignatureException
Method checkSignatureValue

Parameters:
cert -
Returns:
Throws:
XMLSignatureException

checkSignatureValue

public boolean checkSignatureValue(java.security.Key pk)
                            throws XMLSignatureException
Method checkSignatureValue

Parameters:
pk -
Returns:
Throws:
XMLSignatureException

addDocument

public void addDocument(java.lang.String referenceURI,
                        Transforms trans,
                        java.lang.String digestURI,
                        java.lang.String ReferenceId,
                        java.lang.String ReferenceType)
                 throws XMLSignatureException
Method addDocument

Parameters:
referenceURI -
trans -
digestURI -
ReferenceId -
ReferenceType -
Throws:
XMLSignatureException

addDocument

public void addDocument(java.lang.String referenceURI,
                        Transforms trans,
                        java.lang.String digestURI)
                 throws XMLSignatureException
This method is a proxy method for the Manifest.addDocument(java.lang.String, java.lang.String, org.apache.xml.security.transforms.Transforms, java.lang.String, java.lang.String, java.lang.String) method

Parameters:
referenceURI -
trans -
digestURI -
Throws:
XMLSignatureException
See Also:
Manifest#addDocument(org.apache.xml.security.signature.XMLSignatureInput, java.lang.String, org.apache.xml.security.transforms.Transforms, java.lang.String)

addDocument

public void addDocument(java.lang.String referenceURI,
                        Transforms trans)
                 throws XMLSignatureException
Method addDocument

Parameters:
referenceURI -
trans -
Throws:
XMLSignatureException

addDocument

public void addDocument(java.lang.String referenceURI)
                 throws XMLSignatureException
Method addDocument

Parameters:
referenceURI -
Throws:
XMLSignatureException

addKeyInfo

public void addKeyInfo(java.security.cert.X509Certificate cert)
                throws XMLSecurityException
Method addToKeyInfoCompleteCertificate

Parameters:
cert -
Throws:
XMLSecurityException

addKeyInfo

public void addKeyInfo(java.security.PublicKey pk)
Method addToKeyInfo

Parameters:
pk -

createSecretKey

public javax.crypto.SecretKey createSecretKey(byte[] secretKeyBytes)
                                       throws XMLSecurityException
Proxy method for SignedInfo.createSecretKey(byte[])

Parameters:
secretKeyBytes -
Returns:
Throws:
XMLSecurityException
See Also:
SignedInfo.createSecretKey(byte[])

setFollowNestedManifests

public void setFollowNestedManifests(boolean followManifests)
Method setFollowNestedManifests

Parameters:
followManifests -

getBaseLocalName

public java.lang.String getBaseLocalName()
Method getBaseLocalName

Specified by:
getBaseLocalName in class ElementProxy
Returns: