AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 785891
Accepted
Buzkie
Buzkie
Asked: 2016-06-24 10:25:07 +0800 CST2016-06-24 10:25:07 +0800 CST 2016-06-24 10:25:07 +0800 CST

SFTP关键问题?java.security.InvalidAlgorithmParameterException

  • 772

我正在尝试使用我的应用程序 SFTP 客户端测试连接来连接到 MF,但出现错误:

SFTP 用户别名 GLDFundingEngine_User 测试失败。详细信息: Session.connect: java.security.InvalidAlgorithmParameterException: Prime size 必须是 64 的倍数,并且只能从 512 到 2048(含)

这是一个内置客户端,所以我对它没有太多控制权。我测试了这两个键,它们应该很好:

ssh-keygen -lf intserv.rsa.pub
2048

ssh-keygen -lf GLDFundingEngine_XXXXXXXXXXXXXXXXXXXX_22_rsa.pub
1024

这个错误可能指向其他东西吗?搜索堆栈交换只是指向我无法更改的不同 SSH 库。

谢谢

sftp rsa
  • 1 1 个回答
  • 8568 Views

1 个回答

  • Voted
  1. Best Answer
    dave_thompson_085
    2016-06-24T11:23:49+08:002016-06-24T11:23:49+08:00

    问题绝对不是你的关键;这很可能是服务器的 Diffie-Hellman 参数——或者可能是他们的 DSA 密钥,但没有太多人将 DSA 密钥用于 SSH,特别是因为 OpenSSH 最近弃用了它们。可能值得进行网络跟踪以准确查看错误发生的时间:例如 group14 的初始协商;或 DHGEXgroup 及其参数;或包含 DSA 签名和该签名的 DH(GEX) 回复。

    如果您使用的是版本 8 之前的 Sun/Oracle Java,它无法处理大于 1024 的 DH(或 DSA)大小,但 DH 大小 1024 现在被认为是易受攻击的,因此许多服务器使用 2048。请参阅https://weakdh.org和http://www.keylength.org和/或许多关于 Logjam 的主要关于 security.SX 和 crypto.SX 的 Q。在这种情况下,您有两个选择:升级到 DH(和 DSA)2048 工作的 Java 8;或者,如果服务器支持 ECDH 和您正在使用且无法更改的 SSH 库,但您使用的 Java 6(或更低版本?)不支持,请从http://www.bouncycastle.org添加提供程序它确实支持 ECDH,这通常比经典 DH 更受欢迎,从而避免了这个问题。

    如果您使用的是 IBM Java,正如我从 MF -> mainframe -> IBM mainframe -> IBM shop 的可能性中推测的那样,这个答案并不直接适用。IBM Java 使用 IBM 加密提供程序,这与 Sun/Oracle Java 中的 Sun/Oracle 加密提供程序不同。但是,如果您查看他们的文档以了解 DH 参数大小和可能的 DSA 参数大小,可能会有类似的东西。

    如果不是DH,那么一定要查看网络跟踪,如果您无法弄清楚,请将相关部分添加到您的问题中。


    https://stackoverflow.com/questions/6851461/java-why-does-ssl-handshake-give-could-not-generate-dh-keypair-exception
    https://stackoverflow.com/questions/10687200/java的交叉重复-7-and-could-not-generate-dh-keypair
    https://stackoverflow.com/questions/21442547/java-ssl-dh-keypair-generation-prime-size-error
    https://stackoverflow.com/questions /33088458/how-to-workaround-java-6-ssl-error

    • 3

相关问题

  • 在没有硬件防火墙的情况下保护直接连接到 Internet 上的 Windows 服务器的过程

  • FTP、SCP 或其他

  • 将我的 SFTP 用户监禁到他们的主目录是否公平?

  • 为什么 scp -scp 工作但没有那个标志的 scp

  • 使用 OpenSSH 设置 chrooted SFTP 登录

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve