Java: InvalidAlgorithmParameterException Prime size must be multiple of 64

前端 未结 9 1932
北海茫月
北海茫月 2020-12-10 16:01

I implemented a Java program that will connect and execute a command in a remote server using JSCH. The problem is that whenever I tried to connect to the server, I got the

相关标签:
9条回答
  • 2020-12-10 16:37

    Add this line of code after you have the Session instance:

    public static Session createSession(Server srv){
       JSch js = new JSch();
       try {
          Session s = js.getSession(srv.getUser().getUsername(), srv.getAddress(), 22);
          s.setPassword(srv.getUser().getPassword());
          Properties config = new Properties();
          config.put("StrictHostKeyChecking", "no");
          config.put("PreferredAuthentications", "password");
          config.put("kex", "diffie-hellman-group1-sha1");
          s.setConfig(config);
          ...
    

    The line to be added is: config.put("kex", "diffie-hellman-group1-sha1");

    0 讨论(0)
  • 2020-12-10 16:44

    I was getting this error

    ERROR: Message form the remote server : Session.connect: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive)

    I was able to solve it by setting the client version as in this line

    session.setClientVersion("SSH-2.0-OpenSSH_2.5.3");
    

    The default value that was causing the error is

    session.setClientVersion("SSH-2.0-JSCH-0.1.54");
    
    0 讨论(0)
  • 2020-12-10 16:46

    My solution to this problem was putting in the first line of my main method the following:

    public static void main(String[] args) {
        Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
        ...
    }
    

    If you are using Spring you can add instead:

    @Configuration
    public class AppConfig {
        @PostConstruct
        public void init(){
            Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
        }
    }
    
    0 讨论(0)
提交回复
热议问题