Java J2SSH SFTP-主机密钥无效
我正在使用J2SSH 0.2.9 SFTP。当连接到特定的SFTP站点时,我收到了错误消息 主机密钥签名无效 但是,使用WinSCP或Filezilla连接到同一个站点不会给我任何类型的错误 值得关注的特定代码领域是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
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地址连接。