stackoverflow.com/questions/44829426/...
ли библиотека / пример Java для чтения открытого ключа формата ecdsa openssh в JCE?PublicKey
в Java? Я хочу использовать EC дляJWT .
Формат, который я пытаюсь прочитать, соответствует author_keys или Github API (например,https://api.github.com/users/davidcarboni/keys):ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK8hPtB72/sfYgNw1WTska2DNOJFx+QhUxuV6OLINSD2ty+6gxcM8yZrvMqWdMePGRb2cGh8L/0bGOk+64IQ/pM=
Я нашел этот ответ, который подходит для RSA и DSS:Использование открытого ключа от author_keys с безопасностью Javaи это обсуждение формата openssh для ECDSA:https://security.stackexchange.com/questions/129910/ecdsa-why-do-ssh-keygen-and-java-generated-public-keys-have-different-sizes
Однако я теряюсь, пытаясь адаптировать код RSS / DSA для ECDSA - я не уверен, как настроитьECPublicKeySpec
, НужноECPoint
, EllipticCurve
, ECParameterSpec
, ECField
, Формат openssh содержит только два целых числа, что имеет смысл дляECPoint
, но я не знаю, как настроить все остальное.
Я ковырялся в куче библиотек, в том числеJSch, sshj, SSH-инструменты и старый добрыйBouncyCastle, Ближайшее у меня есть:
com.jcraft.jsch.KeyPair load = com.jcraft.jsch.KeyPair.load(jsch, null, bytes[openSshKey]);
Который отлично загружает ключ, но не доставляет меня в JCEPublicKey
- простоbyte[] getPublicKeyBlob()
метод.
Я что-то упускаю из виду?