Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DH key size must be multiple of 64, and can only range from 512 to 2048 (inclusive)

I have a set-up in which I am executing a build from Jenkins on a Solaris Server connecting via sshexec task in ANT.

On trigerring the build, it is throwing below error:

com.jcraft.jsch.JSchException: Session.connect: java.security.InvalidAlgorithmParameterException: DH key size must be multiple of 64, and can only range from 512 to 2048 (inclusive). The specific key size 2047 is not supported.

After some google search, I came to know that it might be fixed by updating to Java 8. I did that, however, still no success.

Can anyone please let me know how to fix it?

like image 363
Nishant Kansal Avatar asked Nov 02 '16 14:11

Nishant Kansal


1 Answers

Our fix:

Security.insertProviderAt(new BouncyCastleProvider(), 1)

we were using Jsch 0.1.54 directly to connect to an SFT server and saw:

java.security.InvalidAlgorithmParameterException: DH key size must be multiple of 64, and can only range from 512 to 4096 (inclusive). The specific key size 2047 is not supported

possibly related

  • JDK-8164963: InvalidAlgorithmParameterException prime size issue after JDK upgrade with JSCH libraries.
  • DHGEX failing with 2048-bit key under Java 8, but succeeding with 1024-bit key
like image 178
Brian Low Avatar answered Sep 30 '22 17:09

Brian Low