JSch:尝试连接之前检查私钥文件密码

Raú*_*udo 5 ssh jsch ssh-keys

对于一个相当简单的应用程序,主要依赖于通过 JSch 建立的 ssh 连接,我想在登录屏幕上询问密码,尝试解密私钥,如果错误,请返回登录窗口。

我找不到方法来发现是否调用

jsch.addIdentity(keyfile, prvkey, pubkey, passphrase);
Run Code Online (Sandbox Code Playgroud)

正确结束,即使我可以在代码中看到解密已经被尝试过,并且我想它已经知道密码是错误的。

在尝试建立任何会话之前,有什么方法可以检测密码是否正确?

谢谢。

ymn*_*mnk 6

您可以使用KeyPair类来满足您的要求,如下所示,

KeyPair kpair = KeyPair.load(jsch, prvkey, pubkey);
System.out.println(kpair.decrypt(passphrase));
Run Code Online (Sandbox Code Playgroud)