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.

The exists no constructor but the #getInstance methods to obtain instances of this class.

 SignatureAlgorithm.getInstance()
 

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()
          Returns the localname of the Elements of the sub-class.
 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 secretKey)
          Method initSign
 void initSign(java.security.Key secretKey, java.security.spec.AlgorithmParameterSpec algorithmParameterSpec)
          Method initSign
 void initSign(java.security.PrivateKey privateKey)
          Proxy method for Signature.initSign(java.security.PrivateKey) which is executed on the internal Signature object.
 void initSign(java.security.PrivateKey privateKey, 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 secretkey)
          Method initVerify
 void initVerify(java.security.PublicKey publickey)
          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 transfrom 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

Returns:

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.PrivateKey privateKey,
                     java.security.SecureRandom secureRandom)
              throws XMLSignatureException
Proxy method for Signature.initSign(java.security.PrivateKey) which is executed on the internal Signature object.

Parameters:
privateKey -
secureRandom -
Throws:
XMLSignatureException

initSign

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

Parameters:
privateKey -
Throws:
XMLSignatureException

initSign

public void initSign(java.security.Key secretKey)
              throws XMLSignatureException
Method initSign

Parameters:
secretKey -
Throws:
XMLSignatureException

initSign

public void initSign(java.security.Key secretKey,
                     java.security.spec.AlgorithmParameterSpec algorithmParameterSpec)
              throws XMLSignatureException
Method initSign

Parameters:
secretKey -
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.PublicKey publickey)
                throws XMLSignatureException
Proxy method for Signature.initVerify(java.security.PublicKey) which is executed on the internal Signature object.

Parameters:
publickey -
Throws:
XMLSignatureException

initVerify

public void initVerify(java.security.Key secretkey)
                throws XMLSignatureException
Method initVerify

Parameters:
secretkey -
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 -
Returns:
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 transfrom algorithm with algorithmURI

Parameters:
algorithmURI - algorithmURI URI representation of transfrom algorithm will be specified as parameter of #getInstance, when generate.
implementingClass - implementingClass the implementing class of TransformSpi
Throws:
AlgorithmAlreadyRegisteredException - if specified algorithmURI is already registered

getBaseNamespace

public java.lang.String getBaseNamespace()
Method getBaseNamespace

Specified by:
getBaseNamespace in class ElementProxy
Returns:

getBaseLocalName

public java.lang.String getBaseLocalName()
Description copied from class: ElementProxy
Returns the localname of the Elements of the sub-class.

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