问题标签 [jwk]

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 回答
434 浏览

go - golang如何将65537转为AQAB

我正在围绕 JWT 创建和验证编写一些单元和集成测试。我正在使用我用 openssl 创建的真实(良好自签名)证书拼凑一个快速 JWKS 页面,我一直在做饭,直到遇到这个非常简单的问题:

“E”值是 65537,但在 JWKS 中它应该是 AQAB。在墙上敲了很长时间后,我终于在纸上弄明白了。

https://www.rfc-editor.org/rfc/rfc7518#section-6.3.1.2

65537 是 0000 0001: 0000 0000 : 0000 0001

如果您将其转换为 base64 的 6 位,您将得到

000000 010000 000000 000001

哪个是 AQAB

https://en.wikipedia.org/wiki/Base64#Base64_table

所以我尝试编写一些快速代码。但事实证明它并不快。我在想,一定有更简单的方法。我尝试的所有 base64 编码都给了我超过 3 个字节的空间。

任何有自尊心的编码员都会做的事情也是如此……我看到每个人都使用 65537,所以我对那个傻瓜进行了硬编码并继续前进,但它一直在唠叨我。我讨厌困扰我的问题。

我得到的最接近的是:

其中产生:

我的快速数学说,base64 输出是为什么超过 3 个字节:D

0 投票
1 回答
691 浏览

c# - C# 使用来自授权端点 (crv, x, y) 的值验证 JWT 令牌

我在 iframe 中的供应商网站上显示了一个网页。他们调用我的页面并在查询字符串中传递一个 JWT。我必须解析jwt。

我想通过从https://authorizion.x.com/jwk中提取值来验证签名。我得到如下所示的值:

我根据 JWT 标头中的孩子值选择密钥。如何根据 crv、x 和 y 值验证签名?似乎我需要公共或私人证书,但我没有。

我还能补充什么。它使用 ECDSA p-256 加密。上面有一个 Json Web 令牌,在 jwt.io 我得到以下值,

标题

有效载荷

签名

我包含了与 JWT 匹配的 Java Web 密钥集。

0 投票
0 回答
101 浏览

jwt - 如何将索赔和到期时间传递给 JWE?

我正在玩node-josehttps://github.com/cisco/node-jose),它没有多大帮助。

我应该将 JWE 包装在 JWT 有效负载(或相反)中吗?

这是我用来进行一些测试的示例代码:

生成这样的对象:

问题

1-我如何将索赔传递aud给这个生成的 JWE?

2-我如何让它在一段时间内有效,比如说一小时?

3-我应该传递给客户什么?recipients带有等的整个对象protected

0 投票
0 回答
178 浏览

c# - 将 JWK 转换为 RSA 密钥值对的正确方法是什么

假设我们有以下 JWK 作为项目中的嵌入式资源

在此处输入图像描述

以下代码成功将 JSON 读入 JSONWebKey

我们希望将其转换为 RSA 密钥值对,因此我们有以下代码可以将 JWK 转换为 RSA 密钥对。

但是当我们尝试如下签署数据时

它抛出 CryptographicException @ RSAalg.ImportParameters(privateKey);

使用 C#.net 核心将 JWK 转换为 RSA 密钥对的正确方法是什么。

0 投票
1 回答
31 浏览

jwk - 我如何获得正确的苹果登录公钥

我正在尝试实现苹果登录并从 appleid 提供程序获取令牌,我发现jwks-client可以解决问题,但我无法获得必要的密钥。由于某种原因,它不返回任何公钥。我需要使用什么 uri 来获取公钥?

0 投票
2 回答
6767 浏览

jwt - jwt.io 从哪里获取 JWT 令牌的公钥?

我正在通过jwt.io(在调试器部分)解码 JWT 令牌以查看标头、有效负载。令人惊讶的是,它也得到了验证,我可以看到它(jwt.io 调试器)也能够检索公钥。

所以我的问题是:JWT 令牌是否提供公钥以及 JWT 令牌的一部分?

我正在粘贴其中的一部分(由于安全原因无法完整粘贴,将截断实际 JWT 令牌的一部分)

解码的消息(再次被截断)

标头

有效载荷:

在那里,可以看到公钥(截断)

jwt.io 中的调试器从哪里检索公钥?我无法理解这一点。

0 投票
1 回答
55 浏览

identityserver4 - 如果我有两个基于相同私钥的不同证书,我的令牌是否仍然可以验证?

对于我的 Identity Server 4,我们设置了两个不同的服务器来托管应用程序。我要求我们的运营团队在两台服务器上安装相同的证书。但是,他们都收到了不同的指纹,并且证书中的值在以下字段中有所不同:kid、x5t、n 并且 x5c 链中的值在两者之间也不同,当我加载 .well-known/ openid 配置/jwks 地址。我已经在下面发布了密钥。这行得通吗?我认为如果 x5c.0 值基于相同的私钥,它们的值将相同。

第一个键:

0 投票
0 回答
147 浏览

rest - Delphi 如何创建 JSON Web Keys (jwk)

德尔福 10.4.1

我正在开发一个 REST 应用程序,我需要为其创建 RSA/RS256 密钥并以 jwk 格式服务发布我的公钥。

有谁知道如何生成 jwk 密钥或将 RSA 密钥集转换为 jwk 格式。

我能找到的唯一实用程序是 Chilkat 套件......

帮助和建议将不胜感激

0 投票
1 回答
230 浏览

java - Android SecretKey AES 和 JWK:如何转换

我有一个需要共享私有 AES 密钥的应用程序。(他们被包裹)。服务器将以 JWK 格式发送和接收密钥。

目前,在android中我可以像这样生成AES KEY:

有没有一种简单的方法可以将 SecretKey 转换为 JWK 格式?反之亦然

如果没有,我在SecretKey类 中看到了getEncoded()方法。如何导出对称加密密钥?

也许我需要创建自己的类来进行转换

谢谢

0 投票
0 回答
113 浏览

java - 如何使用 io.jsonwebtoken 库验证 Google id_token

我们正在尝试在服务中验证来自 Google 的 id_token。我正在尝试使用 io.jsonwebtoken Java API ( https://github.com/jwtk )。此外,JWKS 在这里:https ://www.googleapis.com/oauth2/v3/certs

我不会在此处粘贴 JWKS,但我知道“e”值是指数,“n”值是模数,“kid”是要在有效负载中匹配的键 id。此外,“alg”是密钥的签名算法。

我可以对标头和有效负载进行 base 64 解码,但我不明白如何使用 JWKS 来验证 id_token。

这应该很容易,但我似乎无法找出方法。有人做过吗?我可以使用“io.jsonwebtoken”API 来检查 id_token 吗?