apache mina sshd authenticate client signatures
我找到了此链接,我已经实现了PublicKeyAuthenticator的authenticate方法,并使用KeyUtils.compareKeys方法来比较存储的用户的公共密钥和传入的密钥。但是它不匹配。需要与本地公开密钥进行比较的本地密钥存储格式是什么?在过去的几周里,我一直在努力解决这个问题,无法解决。请帮忙。
答案 0 :(得分:1)
我认为密钥应以-----BEGIN RSA PRIVATE KEY-----
开头,以便Apache Mina可以识别。
如果您使用以PuTTY-User-Key-File-2: ssh-rsa
开头的putty gen密钥,则应该对这些文件进行一些调整,
像这样:
PuttyKeyUtils.DEFAULT_INSTANCE.loadKeyPairs(Paths.get(privateKey), FilePasswordProvider.of(this.pwd)))
答案 1 :(得分:0)
在KeyUtils中的compareKeys()上设置一个断点,您将能够看到正在比较的键并尝试找到它们的类型。我遇到了类似的问题,但对我来说,它无法比较OpenSshCertificate类型的公钥。