首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JWT令牌加密

JWT令牌加密
EN

Stack Overflow用户
提问于 2021-08-19 02:18:17
回答 1查看 385关注 0票数 0

我希望加密我的JWT令牌。我已经浏览了夸克文档和JWT的各种属性。然而,我无法弄清楚到底出了什么问题。简单签名的基本功能很好,

代码语言:javascript
复制
Jwt.claims(jsonObject).sign();

我在这里设置了两个属性,

代码语言:javascript
复制
mp.jwt.verify.publickey.location=publicKey.pem
smallrye.jwt.sign.key.location=privateKey.pem

对于加密位,根据文档,我要设置另外两个属性,

代码语言:javascript
复制
mp.jwt.decrypt.key.location=privateKey.pem
smallrye.jwt.encrypt.key.location=publicKey.pem

所使用的代码是,

代码语言:javascript
复制
Jwt.innerSignAndEncrypt(jsonObject);

当我打开验证跟踪时,我在日志中得到以下异常,

代码语言:javascript
复制
Caused by: org.jose4j.lang.InvalidKeyException: The key must not be null.
        at org.jose4j.jwx.KeyValidationSupport.notNull(KeyValidationSupport.java:72)
        at org.jose4j.jwx.KeyValidationSupport.castKey(KeyValidationSupport.java:56)
        at org.jose4j.jwe.RsaKeyManagementAlgorithm.validateDecryptionKey(RsaKeyManagementAlgorithm.java:57)
        at org.jose4j.jwe.JsonWebEncryption.createDecryptingPrimitive(JsonWebEncryption.java:225)
        at org.jose4j.jwe.JsonWebEncryption.decrypt(JsonWebEncryption.java:240)
        at org.jose4j.jwe.JsonWebEncryption.getPlaintextBytes(JsonWebEncryption.java:85)
        at org.jose4j.jwe.JsonWebEncryption.getPlaintextString(JsonWebEncryption.java:78)
        at org.jose4j.jwe.JsonWebEncryption.getPayload(JsonWebEncryption.java:93)
        at org.jose4j.jwt.consumer.JwtConsumer.process(JwtConsumer.java:366)

不知道需要设置什么键。

备注:为了测试,我使用相同的RSA密钥对进行签名和加密。

任何帮助都是非常感谢的。

提亚

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-25 19:02:05

我也在Quarkus聊天上发了这个。在为他们创建复制应用程序时,我使用了最新的Quarkus版本2.1.3。在那里我遇到了另一个例外,

代码语言:javascript
复制
Caused by: org.jose4j.lang.InvalidAlgorithmException: 'RSA-OAEP-256' is not a permitted algorithm.
at org.jose4j.jwa.AlgorithmConstraints.checkConstraint(AlgorithmConstraints.java:80)

对此进行进一步研究,似乎是小黑麦的一个问题,尽管有文档记录的默认算法是"RSA-OAEP",但它试图默认为"RSA-OAEP-256“。解决方案是将属性(smallrye.jwt.decrypt.algorithm)显式设置为"RSA-OAEP-256",同时添加一个修复

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68841241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档