Как подписать JWT с помощью эллиптической кривой в Spring Boot Oauth (spring-security-jwt)? - PullRequest
1 голос
/ 03 октября 2019

Я использовал ssh-keygen -t ecdsa -b 521 до для создания примера пары ключей EC . Затем я попытался подключить это к весеннему потоку, но я не смог понять это.

Существует org.springframework.security.jwt.crypto.sign.EllipticCurveVerifier , но нет ECсиньор. Кроме того, я не смог найти примеров создания ECPublicKey и ECPrivateKey из статической пары ключей EC в форме String.

Поддержка RSA для подписания JWT проста. Классы org.springframework.security.jwt.crypto.sign.RsaSigner и RsaVerifier позволяют очень легко подписывать и проверять токены с помощью статической пары ключей RSA в форме String. Я ожидал чего-то подобного. Я что-то пропустил?

Обновление

Я не думаю, что это поддерживается даже с пользовательскими реализациями Signer и SignatureVerifier - https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-jwt/src/main/java/org/springframework/security/jwt/JwtAlgorithms.java#L30-L34

Вы не можете использоватьКласс JwtHelper как поддерживаемые алгоритмы жестко запрограммирован.

Интересно, что должны делать классы EC *, если ecdsa не поддерживается?

...