gpt4 book ai didi

java - 无法使用 JSch 和 Java 8 的 key 文件连接到 SFTP 服务器

转载 作者:搜寻专家 更新时间:2023-11-01 03:36:07 26 4
gpt4 key购买 nike

我正在尝试使用 2048 位 RSA key 文件连接到 SFTP 服务器。它使用 JSch 针对 JRE 的 7r45 版运行良好,但在针对 JRE 的 8r31 版运行时出现以下异常。

com.jcraft.jsch.JSchException: Session.connect: java.security.InvalidAlgorithmParameterException: Prime size 必须是 64 的倍数,并且只能在 512 到 2048(含)之间。

这不是有限 Java 安全策略的问题,因为我已经尝试过使用和不使用两个版本的 java 的无限强度 jars。

我看到其他关于此异常的引用资料建议用 BouncyCaSTLe 提供程序替换默认的 java JCE 提供程序,但为什么 java 7 和 java 8 之间会有区别?我确实通过运行来尝试这个Security.addProvider(new BouncyCaSTLeProvider()); 在程序启动时,但似乎没有任何区别。

最佳答案

我们案例中的问题似乎可以通过在调用 session.connect() 之前删除 diffie-hellman-group-exchange-sha1 来解决/解决

String kex = session.getConfig("kex");
System.out.println("old kex:" + kex);
kex = kex.replace(",diffie-hellman-group-exchange-sha1", "");
session.setConfig("kex", kex);
System.out.println("new kex:" + session.getConfig("kex"));
session.connect();

[我们控制客户端,但不控制我们未能连接到的服务器。]

关于java - 无法使用 JSch 和 Java 8 的 key 文件连接到 SFTP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com