问题标签 [jwe]
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.
encryption - 当使用 Keycloak 作为身份代理时,如何将其配置为接收加密的身份令牌?
我正在尝试将 Keycloak 配置为 OIDC 提供者和另一个应用程序之间的身份代理。当 ID 令牌未加密时,我能够成功实现用户登录。
我正在尝试将 Keycloak 配置为能够接受加密的 ID 令牌。但是在“身份提供者”中的 Keycloak 中设置 OIDC 身份提供者时,没有选项可以明确指示 ID 令牌将被加密,也没有任何选项可以指示用于解密的密钥。
我尝试将自生成的 RSA 密钥添加到“领域设置 > 密钥”,并在 OIDC Provider 端进行配置以使用公钥进行加密。在加密 ID Token 的 JWE 表示中,JOSE 标头在“alg”中包含“RSA-OAEP-256”,在“enc”中包含“A256CBC-HS512”。但是,现在启用加密后,当我尝试从 OIDC Provider 登录时,RHSSO 现在会引发以下异常:
错误 [org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider] (默认任务 94)无法使身份提供者 oauth 回调:org.keycloak.broker.provider.IdentityBrokerException:无效令牌
我已经单独测试以确认已正确生成加密的 ID 令牌。我一直在使用的 OIDC 提供商是这样的:https ://github.com/panva/node-oidc-provider
有什么我可能配置错误的吗?
编辑:更新以指示我尝试过的操作
spring-boot - 如何在 KeyCloak 中的签名 JWT 中获取 client_assertion
我尝试使用签名的 JWT 登录,我遵循这个示例,https://github.com/thomasdarimont/spring-boot-keycloak-jwe-example。
但是,当我尝试使用以下脚本获取带有 curl 的令牌时
总是抛出
{ “error”: “unauthorized_client”, “error_description”: “使用签名 JWT 的客户端身份验证失败:无法识别客户端。发行人缺少 JWT 令牌”} 我不知道如何获取 client_assertion,我尝试了不同的方法来做到这一点,但它不起作用。
node.js - 在 golang 中解密 JWE 令牌
我有这个问题,我通过这种方式使用node-jose在 node.js 中创建了一个 JWE:
根据创建它的文档"alg": "PBES2-HS256+A128KW", "enc": "A128CBC-HS256",
,如果我在 jwt.io 中检查它,它就是。
然后,我需要在 golang 中解密,所以我喜欢使用go-jose.v2:
但它会恐慌“恐慌:square/go-jose:密码原语中的错误”您可以在此处查看:https: //play.golang.org/p/qB3QNtGwBsK
我已经尝试过https://github.com/lestrrat-go/jwx但是它不支持 PBES2-HS256+A128KW 算法
谢谢。
更新:这里有更多信息:
他们在节点中的键是用这个创建的:
然后输出保存在这个数组中:
我一直在尝试在 golang 中使用相同的 JWK 创建相同的 JWE,我可以在 golang 中解密,但在节点中都没有(我收到“找不到密钥”错误)......所以,交叉解密对我不起作用. 我究竟做错了什么?
java - 使用 nimbus-jose 和 Java 6 的 ECDH + JWE 加密
我有一个问题,我想知道你是否可以帮助我。
我需要用椭圆曲线创建一个加密的 JWE。
我在用
jre 1.6.0、nimbus-jose-jwt-8.20-jdk6.jar、bcprov-jdk15to18-166.jar。
我用 EC 算法和椭圆曲线 P-512 创建了一个密钥库和一个密钥对。如果我使用私钥对 JWT 进行签名,然后尝试使用公钥对其进行验证,一切正常,但除了签名之外,我还需要加密以创建一个看不到有效负载的 JWE。
当尝试使用公钥加密 JWE 时,它会抛出以下异常
这是我用来加密的代码:
我在 ecipe 类路径中定义了库。
虽然我的要求是用椭圆曲线加密 JWE,但我创建了一个测试证书 RSA,通过这种方式,我能够毫无问题地生成一个带有所述证书的加密 JWE。
我还使用了他们放在https://connect2id.com/products/nimbus-jose-jwt/examples/jws-with-ec-signature页面上的一个非常简单的示例,它也不适用于我。创建密钥对时,我得到了同样的异常。
NoClassDefFoundError 异常表明负责动态类加载的类加载器找不到您尝试使用的类的 .class 文件,但正如我之前所说,我的所有库都很好地包含在类路径中。
难道是我错过了一些要包括的利比里亚吗?我不知道,我迷失了这个问题
c# - 如何使用 RSA 加密 JWT 令牌?
我有一个用于创建 RSA 对象的 OpenSSL 密钥对:
一旦它被创建,我就可以用它来签署 JWT 令牌没有问题。
但是,一旦我想创建加密的 JWT (JWE),我不确定如何使用它。
签署:
最后是 JWT 创建:
我认为应该是类似的:
我不确定如何使用 RSA 作为 EncryptingCredentials。
jwt - 修改自定义策略中的JwtIssuer ClaimsProvider,实现AD B2C中的JWE
我正在使用AD B2C service
进行身份验证。
AD B2C 正在生成已签名的 JWT 令牌,但 JWT 令牌中的声明信息向公众公开。如果有人获得令牌,他们就可以看到索赔信息。
就我而言,我需要在 JWT 令牌中存储一些敏感信息。那么有没有什么办法可以在AD B2C中生成JWE token(加密token),这样只有预期的接收者才能读取。
是否有任何可能的解决方案来修改JwtIssuer ClaimsProvider
自定义策略以实现 JWE。请建议
jwt - 如何将索赔和到期时间传递给 JWE?
我正在玩node-jose
(https://github.com/cisco/node-jose),它没有多大帮助。
我应该将 JWE 包装在 JWT 有效负载(或相反)中吗?
这是我用来进行一些测试的示例代码:
生成这样的对象:
问题
1-我如何将索赔传递aud
给这个生成的 JWE?
2-我如何让它在一段时间内有效,比如说一小时?
3-我应该传递给客户什么?recipients
带有等的整个对象protected
?
webapi - 使用 JWE 保护我的 web api,以任意方式进行操作和其他选项
我有一个应用程序包含:
- .net 核心 3.1
- Microsoft .net 核心上的脚手架身份
- ef 核心 3.x
- Vue.js
- 网络核心网络API
(重要信息:一切都在一台服务器上的一个解决方案中)
现在我正在考虑保护我的 Web API。此应用程序不必像银行一样安全,但我想实现比最低安全性更高的一点。
问题
我想保护我的 API
我做了什么
所以我已经获得了身份授权。所有允许用户输入数据的请求,我都在使用 [Authorize](使用 Idenitiy)。
我的问题
- 我已经阅读了多个地方,当我有一个 Rest API 时,我应该使用 JWE 加密。当我知道只有授权用户才能发送数据时,我是否也需要 JWE?没有敏感信息。(但我见过的所有地方,应用程序都会跟踪用户名/密码)
- 我有多个 GET 请求,不需要任何授权。我应该在那里使用 JWE 吗?当我没有关于用户的任何信息(如用户名/电子邮件)时,我应该使用什么用户信息来加密它?
- 是否有任何其他方法可以保护我的 Getcall,以便不是“每个人”都能够获取/调用信息?我已启用 (cors)
这三个问题相互关联,因此通过将它们分开,更容易回答我需要帮助的细节。
jwt - JWE nimbus-JOSE 真实性和 JavaScript 对应物
我偶然发现了这个用于使用 JSON Web 加密的java nimbus-JOSE库。这个库很简单,需要几行 JWE 加密和解密,如下所示 JWE 加密。
但是,即使在阅读了它的 javadocs 和文档之后,我仍然对这个库有一些疑问。特别是关于 JWE 和这个库,
- 解密 JWE 后,如何验证 JWE 的真实性?JWE 中没有“签名”,那么 JWE 的 5 个部分如何帮助检查有效性?图书馆对此有任何支持吗?
- 除了标题和声明之外,JWT 中的其他字段是由库随机生成的吗?(我无法找到明确的证据。)
- 如果我使用 alg:“RSA-OAEP”,enc:“A128GCM”,我应该在每次加密时得到不同的 JWE,但是,我得到的是相同的 JWE。RSA-OEAP-256 不应该防止这种情况发生吗?加解密流程的详细顺序是什么?
- 我一直在尝试在 Javascript 中找到一个类似的库,但找不到像 nimbus-jose 这样的用于 java 的库。如果有人有建议,请在下面提供帮助!我感谢任何可以帮助我解决问题的人。欢迎所有输入。:)
jwt - 我有模数和指数如何使用 JavaScript 为某些有效负载生成 JWE
我们有一个要求,我们将从服务调用中获取模数,用于在客户端加密(JWE)一些数据
模数和指数示例(不能更改格式)
我正在尝试使用 JavaScript Jose 库来生成 JWE,但没有运气。
我从互联网上关注以下示例,但我的问题是我使用的模数似乎是大整数(我猜)格式,但示例显示不同的格式。
如果我有如上所示的模数和指数,是否有更好的方法可以将 JOSE 用于 JWE?或者可以如下所示完成,但我收到一个错误: