Class LegacyDSASigner


  • public class LegacyDSASigner
    extends java.security.Signature
    A special signer for DSA that uses SHA-1 regardless of the key size
    See Also:
    SSHD-945 issue
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String LEGACY_SIGNATURE  
      protected java.security.MessageDigest md  
      protected java.security.interfaces.DSAParams params  
      protected org.apache.sshd.common.Factory<org.apache.sshd.common.random.Random> randomFactory  
      protected java.math.BigInteger x  
      protected java.math.BigInteger y  
      • Fields inherited from class java.security.Signature

        SIGN, state, UNINITIALIZED, VERIFY
      • Fields inherited from class java.security.SignatureSpi

        appRandom
    • Constructor Summary

      Constructors 
      Constructor Description
      LegacyDSASigner​(org.apache.sshd.common.Factory<org.apache.sshd.common.random.Random> randomFactory)  
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected java.lang.Object engineGetParameter​(java.lang.String key)
      Deprecated.
      protected void engineInitSign​(java.security.PrivateKey key)  
      protected void engineInitVerify​(java.security.PublicKey key)  
      protected void engineSetParameter​(java.lang.String key, java.lang.Object param)
      Deprecated.
      protected byte[] engineSign()  
      protected void engineUpdate​(byte b)  
      protected void engineUpdate​(byte[] data, int off, int len)  
      protected void engineUpdate​(java.nio.ByteBuffer b)  
      protected boolean engineVerify​(byte[] signature)  
      protected boolean engineVerify​(byte[] signature, int offset, int length)  
      protected java.math.BigInteger generateK​(java.math.BigInteger q)  
      protected java.math.BigInteger generateR​(java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g, java.math.BigInteger k)  
      protected java.math.BigInteger generateS​(java.math.BigInteger x, java.math.BigInteger q, java.math.BigInteger r, java.math.BigInteger k)  
      protected java.math.BigInteger generateV​(java.math.BigInteger y, java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g, java.math.BigInteger w, java.math.BigInteger r)  
      protected java.math.BigInteger generateW​(java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g, java.math.BigInteger s)  
      protected void initDSAParameters​(java.security.interfaces.DSAKey key)  
      • Methods inherited from class java.security.Signature

        clone, getAlgorithm, getInstance, getInstance, getInstance, getParameter, getParameters, getProvider, initSign, initSign, initVerify, initVerify, setParameter, setParameter, sign, sign, toString, update, update, update, update, verify, verify
      • Methods inherited from class java.security.SignatureSpi

        engineGetParameters, engineInitSign, engineSetParameter, engineSign
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • LEGACY_SIGNATURE

        public static final java.lang.String LEGACY_SIGNATURE
        See Also:
        Constant Field Values
      • md

        protected final java.security.MessageDigest md
      • randomFactory

        protected final org.apache.sshd.common.Factory<org.apache.sshd.common.random.Random> randomFactory
      • x

        protected java.math.BigInteger x
      • y

        protected java.math.BigInteger y
      • params

        protected java.security.interfaces.DSAParams params
    • Constructor Detail

      • LegacyDSASigner

        public LegacyDSASigner​(org.apache.sshd.common.Factory<org.apache.sshd.common.random.Random> randomFactory)
                        throws java.security.GeneralSecurityException
        Throws:
        java.security.GeneralSecurityException
    • Method Detail

      • engineSetParameter

        @Deprecated
        protected void engineSetParameter​(java.lang.String key,
                                          java.lang.Object param)
        Deprecated.
        Specified by:
        engineSetParameter in class java.security.SignatureSpi
      • engineGetParameter

        @Deprecated
        protected java.lang.Object engineGetParameter​(java.lang.String key)
        Deprecated.
        Specified by:
        engineGetParameter in class java.security.SignatureSpi
      • initDSAParameters

        protected void initDSAParameters​(java.security.interfaces.DSAKey key)
                                  throws java.security.InvalidKeyException
        Throws:
        java.security.InvalidKeyException
      • engineInitSign

        protected void engineInitSign​(java.security.PrivateKey key)
                               throws java.security.InvalidKeyException
        Specified by:
        engineInitSign in class java.security.SignatureSpi
        Throws:
        java.security.InvalidKeyException
      • engineSign

        protected byte[] engineSign()
                             throws java.security.SignatureException
        Specified by:
        engineSign in class java.security.SignatureSpi
        Throws:
        java.security.SignatureException
      • generateK

        protected java.math.BigInteger generateK​(java.math.BigInteger q)
      • generateR

        protected java.math.BigInteger generateR​(java.math.BigInteger p,
                                                 java.math.BigInteger q,
                                                 java.math.BigInteger g,
                                                 java.math.BigInteger k)
      • generateS

        protected java.math.BigInteger generateS​(java.math.BigInteger x,
                                                 java.math.BigInteger q,
                                                 java.math.BigInteger r,
                                                 java.math.BigInteger k)
      • engineInitVerify

        protected void engineInitVerify​(java.security.PublicKey key)
                                 throws java.security.InvalidKeyException
        Specified by:
        engineInitVerify in class java.security.SignatureSpi
        Throws:
        java.security.InvalidKeyException
      • engineVerify

        protected boolean engineVerify​(byte[] signature)
                                throws java.security.SignatureException
        Specified by:
        engineVerify in class java.security.SignatureSpi
        Throws:
        java.security.SignatureException
      • engineVerify

        protected boolean engineVerify​(byte[] signature,
                                       int offset,
                                       int length)
                                throws java.security.SignatureException
        Overrides:
        engineVerify in class java.security.SignatureSpi
        Throws:
        java.security.SignatureException
      • generateW

        protected java.math.BigInteger generateW​(java.math.BigInteger p,
                                                 java.math.BigInteger q,
                                                 java.math.BigInteger g,
                                                 java.math.BigInteger s)
      • generateV

        protected java.math.BigInteger generateV​(java.math.BigInteger y,
                                                 java.math.BigInteger p,
                                                 java.math.BigInteger q,
                                                 java.math.BigInteger g,
                                                 java.math.BigInteger w,
                                                 java.math.BigInteger r)
      • engineUpdate

        protected void engineUpdate​(byte b)
        Specified by:
        engineUpdate in class java.security.SignatureSpi
      • engineUpdate

        protected void engineUpdate​(byte[] data,
                                    int off,
                                    int len)
        Specified by:
        engineUpdate in class java.security.SignatureSpi
      • engineUpdate

        protected void engineUpdate​(java.nio.ByteBuffer b)
        Overrides:
        engineUpdate in class java.security.SignatureSpi