org.apache.xml.security.algorithms
Class SignatureAlgorithm

java.lang.Object
  |
  +--org.apache.xml.security.utils.ElementProxy
        |
        +--org.apache.xml.security.algorithms.Algorithm
              |
              +--org.apache.xml.security.algorithms.SignatureAlgorithm

public class SignatureAlgorithm
extends Algorithm

Allows selection of digital signature's algorithm, private keys, other security parameters, and algorithm's ID.

Author:
Christian Geuer-Pollmann

Field Summary
protected  SignatureAlgorithmSpi _signatureAlgorithm
          Field _signatureAlgorithm
 
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
SignatureAlgorithm(org.w3c.dom.Document doc, java.lang.String algorithmURI)
          Constructor SignatureAlgorithm
SignatureAlgorithm(org.w3c.dom.Document doc, java.lang.String algorithmURI, int HMACOutputLength)
          Constructor SignatureAlgorithm
SignatureAlgorithm(org.w3c.dom.Element element, java.lang.String BaseURI)
          Constructor SignatureAlgorithm
 
Method Summary
 java.lang.String getBaseLocalName()
          Method getBaseLocalName
 java.lang.String getBaseNamespace()
          Method getBaseNamespace
 java.lang.String getJCEAlgorithmString()
          Proxy method for Signature.getAlgorithm() which is executed on the internal Signature object.
 java.lang.String getJCEProviderName()
          Method getJCEProviderName
 java.lang.String getURI()
          Returns the URI representation of Transformation algorithm
 void initSign(java.security.Key signingKey)
          Proxy method for Signature.initSign(java.security.PrivateKey) which is executed on the internal Signature object.
 void initSign(java.security.Key signingKey, java.security.spec.AlgorithmParameterSpec algorithmParameterSpec)
          Proxy method for Signature.initSign(java.security.PrivateKey) which is executed on the internal Signature object.
 void initSign(java.security.Key signingKey, java.security.SecureRandom secureRandom)
          Proxy method for Signature.initSign(java.security.PrivateKey) which is executed on the internal Signature object.
 void initVerify(java.security.Key verificationKey)
          Proxy method for Signature.initVerify(java.security.PublicKey) which is executed on the internal Signature object.
static void providerInit()
          Initalizes for this Transform
static void register(java.lang.String algorithmURI, java.lang.String implementingClass)
          Registers implementing class of the Transform algorithm with algorithmURI
 void setParameter(java.security.spec.AlgorithmParameterSpec params)
          Proxy method for Signature.setParameter(java.lang.String, java.lang.Object) which is executed on the internal Signature object.
 byte[] sign()
          Proxy method for Signature.sign() which is executed on the internal Signature object.
 void update(byte input)
          Proxy method for Signature.update(byte) which is executed on the internal Signature object.
 void update(byte[] input)
          Proxy method for Signature.update(byte) which is executed on the internal Signature object.
 void update(byte[] buf, int offset, int len)
          Proxy method for Signature.update(byte) which is executed on the internal Signature object.
 boolean verify(byte[] signature)
          Proxy method for Signature.verify(byte[]) which is executed on the internal Signature object.
 
Methods inherited from class org.apache.xml.security.algorithms.Algorithm
getAlgorithmURI, setAlgorithmURI
 
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

_signatureAlgorithm

protected SignatureAlgorithmSpi _signatureAlgorithm
Field _signatureAlgorithm

Constructor Detail

SignatureAlgorithm

public SignatureAlgorithm(org.w3c.dom.Document doc,
                          java.lang.String algorithmURI)
                   throws XMLSecurityException
Constructor SignatureAlgorithm

Parameters:
doc -
algorithmURI -
Throws:
XMLSecurityException

SignatureAlgorithm

public SignatureAlgorithm(org.w3c.dom.Document doc,
                          java.lang.String algorithmURI,
                          int HMACOutputLength)
                   throws XMLSecurityException
Constructor SignatureAlgorithm

Parameters:
doc -
algorithmURI -
HMACOutputLength -
Throws:
XMLSecurityException

SignatureAlgorithm

public SignatureAlgorithm(org.w3c.dom.Element element,
                          java.lang.String BaseURI)
                   throws XMLSecurityException
Constructor SignatureAlgorithm

Parameters:
element -
BaseURI -
Throws:
XMLSecurityException
Method Detail

sign

public byte[] sign()
            throws XMLSignatureException
Proxy method for Signature.sign() which is executed on the internal Signature object.

Returns:
the result of the Signature.sign() method
Throws:
XMLSignatureException

getJCEAlgorithmString

public java.lang.String getJCEAlgorithmString()
Proxy method for Signature.getAlgorithm() which is executed on the internal Signature object.

Returns:
the result of the Signature.getAlgorithm() method

getJCEProviderName

public java.lang.String getJCEProviderName()
Method getJCEProviderName


update

public void update(byte[] input)
            throws XMLSignatureException
Proxy method for Signature.update(byte) which is executed on the internal Signature object.

Parameters:
input -
Throws:
XMLSignatureException

update

public void update(byte input)
            throws XMLSignatureException
Proxy method for Signature.update(byte) which is executed on the internal Signature object.

Parameters:
input -
Throws:
XMLSignatureException

update

public void update(byte[] buf,
                   int offset,
                   int len)
            throws XMLSignatureException
Proxy method for Signature.update(byte) which is executed on the internal Signature object.

Parameters:
buf -
offset -
len -
Throws:
XMLSignatureException

initSign

public void initSign(java.security.Key signingKey)
              throws XMLSignatureException
Proxy method for Signature.initSign(java.security.PrivateKey) which is executed on the internal Signature object.

Parameters:
signingKey -
Throws:
XMLSignatureException

initSign

public void initSign(java.security.Key signingKey,
                     java.security.SecureRandom secureRandom)
              throws XMLSignatureException
Proxy method for Signature.initSign(java.security.PrivateKey) which is executed on the internal Signature object.

Parameters:
signingKey -
secureRandom -
Throws:
XMLSignatureException

initSign

public void initSign(java.security.Key signingKey,
                     java.security.spec.AlgorithmParameterSpec algorithmParameterSpec)
              throws XMLSignatureException
Proxy method for Signature.initSign(java.security.PrivateKey) which is executed on the internal Signature object.

Parameters:
signingKey -
algorithmParameterSpec -
Throws:
XMLSignatureException

setParameter

public void setParameter(java.security.spec.AlgorithmParameterSpec params)
                  throws XMLSignatureException
Proxy method for Signature.setParameter(java.lang.String, java.lang.Object) which is executed on the internal Signature object.

Parameters:
params -
Throws:
XMLSignatureException

initVerify

public void initVerify(java.security.Key verificationKey)
                throws XMLSignatureException
Proxy method for Signature.initVerify(java.security.PublicKey) which is executed on the internal Signature object.

Parameters:
verificationKey -
Throws:
XMLSignatureException

verify

public boolean verify(byte[] signature)
               throws XMLSignatureException
Proxy method for Signature.verify(byte[]) which is executed on the internal Signature object.

Parameters:
signature -
Throws:
XMLSignatureException

getURI

public final java.lang.String getURI()
Returns the URI representation of Transformation algorithm

Returns:
the URI representation of Transformation algorithm

providerInit

public static void providerInit()
Initalizes for this Transform


register

public static void register(java.lang.String algorithmURI,
                            java.lang.String implementingClass)
                     throws AlgorithmAlreadyRegisteredException
Registers implementing class of the Transform algorithm with algorithmURI

Parameters:
algorithmURI - algorithmURI URI representation of Transform algorithm.
implementingClass - implementingClass the implementing class of SignatureAlgorithmSpi
Throws:
AlgorithmAlreadyRegisteredException - if specified algorithmURI is already registered

getBaseNamespace

public java.lang.String getBaseNamespace()
Method getBaseNamespace

Specified by:
getBaseNamespace in class ElementProxy
Returns:
the namespace of the Elements of the sub-class.

getBaseLocalName

public java.lang.String getBaseLocalName()
Method getBaseLocalName

Specified by:
getBaseLocalName in class ElementProxy
Returns:
the localname of the Elements of the sub-class.