Аутентификация с открытым ключом клиента Apache Mina

apache mina sshd проверяет подлинность подписей клиентов

Я нашел эту ссылку, я реализовал метод аутентификации PublicKeyAuthenticator и использовал метод KeyUtils.compareKeys для сравнения открытого ключа сохраненного пользователя и входящего ключа. Но это не соответствует. Каков формат ключа, который необходимо хранить в локальном хранилище для сравнения с входящим открытым ключом? Последние несколько недель я ломал голову над этим и не мог решить эту проблему. Пожалуйста помоги.


person Siva    schedule 01.07.2020    source источник


Ответы (2)


Я думаю, что ключ должен начинаться с -----BEGIN RSA PRIVATE KEY-----, чтобы Apache Mina мог его распознать.

Если вы используете ключ putty gen, который начинается с PuTTY-User-Key-File-2: ssh-rsa, должны быть сделаны некоторые настройки для работы с этими файлами, например:

PuttyKeyUtils.DEFAULT_INSTANCE.loadKeyPairs(Paths.get(privateKey), FilePasswordProvider.of(this.pwd)))
person Rajeev Joshi    schedule 28.08.2020

поставьте точку останова на compareKeys() в KeyUtils, вы сможете увидеть сравниваемые ключи и попытаться найти их тип. У меня была аналогичная проблема, и мне не удалось сравнить тип открытого ключа OpenSshCertificate.

person shellHell    schedule 01.09.2020