问题标签 [nimbus-jose-jwt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
131 浏览

java - 如何配置 RSAKey.Builder 以生成没有空值的简单结果

我有这样的代码:

它产生这样的结果:

我希望有一些更简单的东西,比如:

我应该怎么做才能产生这种格式而不是前一种?

0 投票
2 回答
1909 浏览

spring - Spring Boot 从 2.3.6.RELEASE 迁移到 2.4.0 和 json ClassCastException

我有一个 Java 项目,它依赖于 SpringBoot 版本 2.3.6.RELEASE。但是,我在尝试升级到 2.4.0 版本时遇到了麻烦。在项目中没有其他任何改变,只有 SpringBoot 的版本。从那时起,应用程序抛出以下错误消息:

我对 maven 依赖树 ( mvn dependency:tree) 做了一些比较,发现可能对nimbus-jose-jwtjson-smart库做了一些重大更改。

2.3.6.发布

2.4.0

如上所示,nimbus-jose-jwt已从 8.19 更新到 9.1.2。此外,json-smart不再是2.4.0中nimbus-jose-jwt的一部分。

根本原因可能是这个变化https://connect2id.com/blog/nimbus-jose-jwt-9 但是,为了防止这个异常应该怎么做呢?

0 投票
0 回答
651 浏览

swift - iOS JWE AES GCM 256

我正在尝试使用 JOSESwift(修改为支持 AES-GCM 256)和 CryptoSwift(需要支持 iOS 11+)在 Swift 中实现 JWE 令牌。我能够使用公钥/私钥对进行加密和解密。但是,当相同的 JWE 令牌传递给 Java(服务器端程序)时,它无法解密。反之亦然也不起作用。需要帮助,可以分享我的github项目

https://github.com/sreekanthps/VAMDemoJava.git - Java 项目https://github.com/sreekanthps/VMADemo.git - iOS 项目https://github.com/sreekanthps/JOSESwift-AES256GCM.git - 修改后的 JOSESwift项目

雨云

线程“主”com.nimbusds.jose.JOSEException 中的异常:AES/GCM/NoPadding 解密失败:标签不匹配!在 com.nimbusds.jose.crypto.impl.AESGCM.decrypt(AESGCM.java:301) 在 com.nimbusds.jose.crypto.impl.ContentCryptoProvider.decrypt(ContentCryptoProvider.java:279) 在 com.nimbusds.jose.crypto .RSADecrypter.decrypt(RSADecrypter.java:285) 在 com.nimbusds.jose.JWEObject.decrypt(JWEObject.java:415) 在 me.txedo.security.Main.numbusJWe(Main.java:127) 在 me.txedo。安全.Main.main(Main.java:52)

何塞4j

线程“主”org.jose4j.lang.JoseException 中的异常:javax.crypto.AEADBadTagException:标签不匹配!在 org.jose4j.jwe.SimpleAeadCipher.decrypt(SimpleAeadCipher.java:114) 在 org.jose4j.jwe.SimpleAeadCipher.decrypt(SimpleAeadCipher.java:101) 在 org.jose4j.jwe.AesGcmContentEncryptionAlgorithm.decrypt(AesGcmContentEncryptionAlgorithm.java:79) ) 在 org.jose4j.jwe.JsonWebEncryption.decrypt(JsonWebEncryption.java:249) 在 org.jose4j.jwe.JsonWebEncryption.getPlaintextBytes(JsonWebEncryption.java:85) 在 org.jose4j.jwe.JsonWebEncryption.getPlaintextString(JsonWebEncryption.java: 78) 在 org.jose4j.jwe.JsonWebEncryption.getPayload(JsonWebEncryption.java:93) 在 me.txedo.security.Main.jose4JDeryption(Main.java:166) 在 me.txedo.security.Main.main(Main.java :55)

SWIFT代码

Java 代码

0 投票
0 回答
87 浏览

java - 我无法使用 nimbus 库文件创建预期的 JWE 令牌

我正在使用 java 代码使用 nimbus jar 文件生成 JWE 令牌,但我无法生成预期的标头 JWE 令牌,请你们帮我生成预期的令牌。

当我生成令牌时,我得到这样的令牌:

但标题是这样生成的,但我不希望 JWE 令牌中出现这种类型的标题:

我想使用上面的 java 代码生成这样的标题:

你们能帮我在这里生成像上面这样的标题吗?

谢谢。

0 投票
1 回答
142 浏览

android - 无法解析 nimbus-jose-jwt 库中的符号“加密”

我正在尝试使用“nimbus-jose-jwt”库在 Android 中生成加密的 JWT。但是当我调用encrypt()库的方法 ' ' 时,我得到错误 ' Cannot resolve symbol 'encrypt',即使库的源代码具有我指定的对象的方法 'encrypt()'。

这是我的代码:

我一直试图解决这个问题几个小时,但还没有成功。请提出解决方案。

0 投票
1 回答
22 浏览

android - APIGEE API 的“缺少必填字段”响应

我在 Android 中使用 nimbus-jose-jwt 库生成加密的 JWT (JWE),并将其发送到 APIGEE API 的主体中。

我使用以下代码生成加密的 JWT:

但是当我在 API 的主体中使用这个 JWE 时,我得到以下响应:

但是当我使用这个工具 ->https://dinochiesa.github.io/jwt/生成 JWE 并将其与 APIGEE API 一起使用时,它工作正常。

我在 JWE 生成的代码中遗漏了什么吗?

0 投票
1 回答
210 浏览

java - Nimbus 反应式 JWT 解码器“NimbusReactiveJwtDecoder.withJwkSetUri()”无法解析负载平衡 url lb:// 的主机

我正在尝试从我的资源服务器中的 keycloak 证书 url 动态获取公钥。url 是负载平衡的 (lb://app-auth/...) 但 nimbus 无法解析主机。

我确定 url 是正确的,因为我已经使用确切的 url 对其进行了测试并返回了密钥。

错误日志:

资源服务器配置:

甚至可以有负载平衡的网址吗?如果是这样,我怎样才能做到这一点?

0 投票
1 回答
370 浏览

java - 无法在 Java 中解析 JWK

com.nimbusds:nimbus-jose-jwt:9.13我实现了一个休息授权服务器,它使用包以 JWK 格式返回给定 keyId 的公钥。代码看起来像这样:

此代码以以下格式返回 JWK 密钥:

在客户端(java)上,我尝试使用以下代码解析 jwk:

parse但是,由于抛出异常 ( Missing parameter "kty") ,客户端无法解析密钥。我看到这JWK.parse需要kty主 JWT josn 主体中的密钥,而默认序列化将密钥JWK嵌入密钥中。当我尝试时,我确实看到了json 主体中的密钥。ktyrequiredParamsjwk.toString()kty

为什么本机 JWK 对象的序列化/反序列化不能以直接的方式工作?在不实现自定义 jwt 结构或序列化器/反序列化器的情况下解决此问题的最佳方法是什么?

更新 1:如果我们将返回类型从 更改JWKMap<String, Object>orString并在客户端处理反序列化,此代码将起作用。但是,如果包本身为我们执行(反)序列化会更好。

0 投票
1 回答
791 浏览

spring-boot - 签名的 JWT 被拒绝:需要另一个算法,或者找不到匹配的密钥

使用 Spring Boot OAuth 资源服务器启动项目,版本 - 2.4.4。我收到以下异常,我在代码中找不到太多问题,因为它在我们的 preprod env 中运行良好,但在 prod 环境中没有工作
到目前为止观察,
我已经检查过,并想确认孩子是否从 jwk uri 和从 token 收到的孩子是不同的,那么这个异常可能吗?注意,在 pre-prod 环境中,kid 对于 token 和 jwk uri 是相同的。
来自 jwk uri -来自 jwt 标头-查看 此代码,用于检查密钥 id 代码段,第 253 行 .. 但我无法进一步了解它。
在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
633 浏览

jwt - “e”:“AQAB”在 jwks 中是什么意思?

"e": "AQAB"JWKS 中的含义是什么- Json Web 密钥集