Генерация токена JWT с паролем RSA256 + - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь подписать токен JWT, используя закрытый ключ RSA256 с парольной фразой.

Вот код, который я использую для генерации парольной фразы:

byte[] apiKeySecretBytes = DatatypeConverter.parseBase64Binary(key);
Key signingKey = new SecretKeySpec(apiKeySecretBytes, signatureAlgorithm.getJcaName());
JwtBuilder builder = Jwts.builder().setIssuedAt(now).signWith(SignatureAlgorithm.RS256, signingKey);
LOGGER.info(builder.compact());

I ' Получается следующая ошибка:

java .lang.IllegalArgumentException: подписи RSA должны вычисляться с использованием RSA PrivateKey. Указанный ключ типа javax.crypto.spe c .SecretKeySpe c не является RSA PrivateKey.

Ошибка подразумевает, что с закрытым ключом что-то недопустимо, однако я проверил он использует JavaScript и, похоже, работает нормально (что позволяет мне предоставить passPhrase). Однако с Java у меня возникают проблемы с поиском документации по предоставлению passPhrase.

...