Smallry jwt: нет константы enum `keyencryptionalgorithm.dir` при использовании` keyencryptionalgorithm.dir`JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Smallry jwt: нет константы enum `keyencryptionalgorithm.dir` при использовании` keyencryptionalgorithm.dir`

Сообщение Anonymous »

Я пытаюсь сгенерировать токен JWE, используя Smallry jwt в Quarkus, с симметричным ключом AES-256 (alg = dir, enc = a256gcm). < /p>
Мой код выглядит так: < /p>

Код: Выделить всё

import io.smallrye.jwt.algorithm.ContentEncryptionAlgorithm;
import io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm;
import io.smallrye.jwt.build.Jwt;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import org.salesbind.infrastructure.configuration.AuthenticationProperties;
import java.time.Instant;

@ApplicationScoped
public class DefaultAuthenticationTokenManager implements AuthenticationTokenManager {

private final AuthenticationProperties authenticationProperties;

@Inject
public DefaultAuthenticationTokenManager(AuthenticationProperties authenticationProperties) {
this.authenticationProperties = authenticationProperties;
}

@Override
public String createToken(UserPrincipal principal) {
Instant now = Instant.now();

return Jwt.subject(principal.getName())
.issuedAt(now)
.expiresAt(now.plusSeconds(authenticationProperties.expirationSeconds()))
.jwe()
.keyAlgorithm(KeyEncryptionAlgorithm.DIR)
.contentAlgorithm(ContentEncryptionAlgorithm.A256GCM)
.encrypt();
}
}
< /code>
и мой jwk (secret.jwk): < /p>
{
"kty": "oct",
"k": "GJ4z4tlm9bfjnAsNLSzzCnkl_8ajXuY7ar5VrywzID4"
}
< /code>
Когда я запускаю код, я получаю следующую ошибку: < /p>
Caused by: java.lang.IllegalArgumentException: No enum constant io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm.dir
at java.base/java.lang.Enum.valueOf(Enum.java:293)
at io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm.valueOf(KeyEncryptionAlgorithm.java:8)
at io.smallrye.jwt.algorithm.KeyEncryptionAlgorithm.fromAlgorithm(KeyEncryptionAlgorithm.java:37)
at io.smallrye.jwt.build.impl.JwtEncryptionImpl.getEncryptionKeyFromKeyContent(JwtEncryptionImpl.java:280)
at io.smallrye.jwt.build.impl.JwtEncryptionImpl.encrypt(JwtEncryptionImpl.java:89)
my application.properties :
smallrye.jwt.encrypt.key.location=classpath:META-INF/secret.jwk

mp.jwt.token.header=Cookie
mp.jwt.token.cookie=AUTH_TOKEN

quarkus.log.level=DEBUG
< /code>
Я пытаюсь создать автономный зашифрованный токен JWT (JWE), используя Smallry jwt в Quarkus. Токен должен: < /p>

быть зашифрованным симметричным ключом (AES-256 GCM). < /Li>
Будьте безопасны для хранения в cookie browser. Ключевое шифрование и контент -интенсивностьрипциилгоритм.A256GCM для шифрования контента. < /li>
< /ul>
Что я пробовал: < /p>

Использование KeyencryptionalLgorithm.dir в коде и «Alg»: «Dir» в JWK. «Alg»: «Dir» в jwk. < /li>
Полное удаление поля «alg» из JWK /> < /ul>
Что на самом деле произошло: < /p>

Код бросает allosalargumentException: enum enmum constant io.smallry.jwt.algorithm.keyencryptionalgorithm.dir. < /li>
< /ul>

Подробнее здесь: https://stackoverflow.com/questions/797 ... g-keyencry
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»