Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java J2SSH SFTP-主机密钥无效_Java_J2ssh - Fatal编程技术网

Java J2SSH SFTP-主机密钥无效

Java J2SSH SFTP-主机密钥无效,java,j2ssh,Java,J2ssh,我正在使用J2SSH 0.2.9 SFTP。当连接到特定的SFTP站点时,我收到了错误消息 主机密钥签名无效 但是,使用WinSCP或Filezilla连接到同一个站点不会给我任何类型的错误 值得关注的特定代码领域是 boolean result = pk.verifySignature(sig, sigdata); log.info("The host key signature is " + (result ? " valid" : "invalid")); 在Tr

我正在使用J2SSH 0.2.9 SFTP。当连接到特定的SFTP站点时,我收到了错误消息

主机密钥签名无效

但是,使用WinSCP或Filezilla连接到同一个站点不会给我任何类型的错误

值得关注的特定代码领域是

boolean result = pk.verifySignature(sig, sigdata);
    log.info("The host key signature is " +
        (result ? " valid" : "invalid"));
在TransportProtocolClient.java中


如果有区别的话,这个密钥就是SSH-DSS。

在没有环境复制的情况下暗中捅了一刀,但我猜您连接的任何东西都会在
j2ssh.transport.publickey.dsa.SshDssPublicKey
的这一部分造成问题

163    if (!header.equals("ssh-dss")) {
164        throw new InvalidSshKeySignatureException();
165    }
还有一些其他错误条件可能会导致相同的异常,从而在一定程度上使水变得浑浊

252    } catch (NoSuchAlgorithmException nsae) {
253         throw new InvalidSshKeySignatureException();
254    } catch (InvalidKeyException ike) {
255        throw new InvalidSshKeySignatureException();
256    } catch (IOException ioe) {
257        throw new InvalidSshKeySignatureException();
258    } catch (SignatureException se) {
259        throw new InvalidSshKeySignatureException();
260    }

我怀疑服务器没有解释第13页的内容,没有发送与签名格式标识符编码稍有不同的内容(全部大写?)。我检查过的具有类似功能的其他程序似乎会强制键名大写或小写,然后执行相等检查。

您连接到的站点是众所周知的吗?你能说出它的名字吗?不,对不起,它是一个金融网站,通过IP地址连接。