Class SignatureAlgorithm


  • public class SignatureAlgorithm
    extends Algorithm
    Allows selection of digital signature's algorithm, private keys, other security parameters, and algorithm's ID.
    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
      • algorithmHash

        private static java.util.Map<java.lang.String,​java.lang.Class<? extends SignatureAlgorithmSpi>> algorithmHash
        All available algorithm classes are registered here
      • algorithmURI

        private final java.lang.String algorithmURI
    • 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
      • SignatureAlgorithm

        public SignatureAlgorithm​(org.w3c.dom.Element element,
                                  java.lang.String baseURI,
                                  boolean secureValidation)
                           throws XMLSecurityException
        Constructor SignatureAlgorithm
        Parameters:
        element -
        baseURI -
        secureValidation -
        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:
        The Provider of this Signature Algorithm
      • 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[], int, int) 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, java.security.SecureRandom) 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.security.spec.AlgorithmParameterSpec) 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 -
        Returns:
        true if the signature is valid.
        Throws:
        XMLSignatureException
      • getURI

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

        public static void register​(java.lang.String algorithmURI,
                                    java.lang.String implementingClass)
                             throws AlgorithmAlreadyRegisteredException,
                                    java.lang.ClassNotFoundException,
                                    XMLSignatureException
        Registers implementing class of the SignatureAlgorithm with algorithmURI
        Parameters:
        algorithmURI - algorithmURI URI representation of SignatureAlgorithm.
        implementingClass - implementingClass the implementing class of SignatureAlgorithmSpi
        Throws:
        AlgorithmAlreadyRegisteredException - if specified algorithmURI is already registered
        XMLSignatureException
        java.lang.SecurityException - if a security manager is installed and the caller does not have permission to register the signature algorithm
        java.lang.ClassNotFoundException
      • register

        public static void register​(java.lang.String algorithmURI,
                                    java.lang.Class<? extends SignatureAlgorithmSpi> implementingClass)
                             throws AlgorithmAlreadyRegisteredException,
                                    java.lang.ClassNotFoundException,
                                    XMLSignatureException
        Registers implementing class of the SignatureAlgorithm with algorithmURI
        Parameters:
        algorithmURI - algorithmURI URI representation of SignatureAlgorithm.
        implementingClass - implementingClass the implementing class of SignatureAlgorithmSpi
        Throws:
        AlgorithmAlreadyRegisteredException - if specified algorithmURI is already registered
        XMLSignatureException
        java.lang.SecurityException - if a security manager is installed and the caller does not have permission to register the signature algorithm
        java.lang.ClassNotFoundException
      • registerDefaultAlgorithms

        public static void registerDefaultAlgorithms()
        This method registers the default algorithms.
      • getBaseLocalName

        public java.lang.String getBaseLocalName()
        Method getBaseLocalName
        Specified by:
        getBaseLocalName in class ElementProxy
        Returns:
        Local name