问题标签 [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.

0 投票
1 回答
323 浏览

node.js - 如何将数据附加到加密的 JWT 令牌 (JWE)?

我有以下场景:一个使用 Node.js REST API 的 Angular 4 Web 应用程序,它使用公司范围的 REST 身份验证服务。

此 REST 身份验证服务返回一个 JWE 令牌,我可以使用node-jose库对其进行解密,然后我的 Node.js API 检查用户的角色以确定是否允许他使用 Web 应用程序。

根据用户角色,Angular Web 应用程序可能允许/拒绝访问某些路由,因此我使用Guard routes.

所以,我的问题是:是否可以将用户角色附加到原始 JWE 令牌并将其返回到 Angular Web 应用程序同时仍然保持有效?

token 的请求并返回到 web app 就是这样的:

0 投票
0 回答
863 浏览

node.js - 如何使用 node-jose

我按照这个尝试了JWE加密和解密

使用 node-jose,我如何解密我刚刚加密的数据?

何塞帮手

在运行这个程序时,我被解密为 null。有什么我想念的吗?

0 投票
1 回答
1626 浏览

javascript - 如何在节点 js 中生成和验证 JWE?

我尝试了下面的代码来创建 RSA-OAEP 和 A128GCM JWE 生成器和验证器。它与节点 js 一起使用,即加密声明并生成 jwe 并解密同样给我声明。但它不适用于其他客户端,例如 nimbusds jose、jose4j。所以可以肯定的是我错过了一些东西。

我通过阅读https://www.rfc-editor.org/rfc/rfc7516来做到这一点

index.js

ASCII.js

使用以下命令生成公钥和私钥

openssl genrsa -out ./privkey.pem 2048

openssl pkcs8 -topk8 -inform pem -in ./privkey.pem -outform pem -nocrypt -out ./privkey.pkc8.pem

openssl rsa -in ./privkey.pkc8.pem -pubout -out ./pubkey.pem

请帮助我修复此代码。

这是我的公钥

生成的 JWE

0 投票
0 回答
373 浏览

javascript - 我们如何仅使用 nodejs Crypto 库来实现 JWE?

这就是我现在为生成 JWT 令牌所做的工作。如何在不使用任何其他 npde 包的情况下仅使用加密库生成 JWE 令牌?

0 投票
1 回答
6386 浏览

node.js - 如何使用 node-jose 生成加密的 JWE

我将 node-jose v0.11.0 ( https://www.npmjs.com/package/node-jose ) 用于 JWK 和 JWE 操作。我有一个 JWK 格式的 RSA 密钥,我可以将其加载到 JWK 密钥存储中并再次提取。但是,当我尝试加密任何东西时,我会进入“error2”、“不支持的算法”。RSA怎么可能是不受支持的算法?

输出如下:

更新我在实际代码中挖掘了一下,发现在“basekey.js”中抛出了错误,因为库的算法是空的。

这里的输出是:

0 投票
1 回答
110 浏览

web - JWT加密正常吗?

我从JWT开始,我在base64上对我的令牌进行了解密测试,我实际上解密了它,除了我没有解密它的签名部分,我的问题是:JWT令牌是否正常解密它? 如果这是正常的,我该如何防止这种情况。

我正在使用算法 HS256

感恩

在此处输入图像描述

0 投票
1 回答
5739 浏览

java - 如何在 C# 中解密 JWE 源(使用 RSA1_5 A256CBC-HS512 加密)?

我正在实现一个客户端,以通过密码学方式与某个服务器进行通信。客户端向服务器发送带有公共 RSA 密钥的获取请求。文档“如何与服务器通信”包含带有 java 代码的示例。以下代码生成公钥:

我需要在 C# 中实现我的客户端。我找到了如何在 C# 中执行相同操作的方法:

客户端使用如何调整 C# 的公钥/私钥 RSA 密钥以在 Java 中使用它们的参数和解决方案?没关系。客户端可以生成可以通过服务器验证的密钥。结果,我得到了加密的响应并试图解密它。

但是此代码引发以下异常:

System.Security.Cryptography.CryptographicException: '要解密的数据超过了这个 256 字节模数的最大值。'

responseContent是长度为 250996 的字节数组。正如我所见,无法通过上述方式解密响应内容。

从文档中,我知道

在此处输入图像描述

另外,我有一个示例如何在 java 中解密响应:

我认为 rsa.Decrypt 是上面代码的模拟。但正如我播种的那样 - 不是。经过一番研究,我发现我的回复是 JWE 来源。基于https://www.rfc-editor.org/rfc/rfc7516,我将回复拆分为由“。”分隔的部分。并从 base64url 解码它们中的每一个。结果我有:

  • 标头(即 JSON:{"enc":"A256CBC-HS512", "alg":"RSA1_5"})
  • 加密密钥(大小 256 字节)
  • 初始化向量(大小 16 字节)
  • 密文(大小 1844688 字节)
  • 身份验证标签(大小 32 字节)

我认为主要内容在Cipertext中,我需要对其进行解密。但我不知道如何因为Cipertext大小超过 256 个字节,我不能使用 rsa.Decrypt。

当源的大小超过 RSA 密钥时如何解密源?

0 投票
1 回答
213 浏览

c - 使用 cjsoe 的 JSON 网络加密

有关如何使用cjose库和简单 JSON 的任何帮助。来自ietf-jose的 JSON 示例

有人可以给我一些指示吗?谢谢

0 投票
1 回答
1872 浏览

php - 没有作曲家的 JWE 和 PHPseclib

我需要在我的代码中使用 jwe。我发现了几个 jwe 库(这里这里),它们也需要安装 phpseclib。但是,我们不允许在我们的工作领域安装 composer。

我如何在没有作曲家的情况下引用 jwe 和 phpseclib 库?谢谢。

0 投票
0 回答
169 浏览

php - Spomkylabs 何塞 PHP

我需要使用内容加密密钥 + IV 解密我的 cipherText,并根据 AAD 验证它并使用 A128CBC-HS256 进行标记。我发现这个图书馆正在这样做。但是,我会使用它吗?我搜索了其他 jwe 库,但它们只解密密文而不使用 aad 和标签进行验证。

我已经尝试实现该库,但我遇到了错误,并且文档对像我这样的新手没有帮助。

我也尝试过 php 的 openssl_decrypt,但它只适用于 GCM 和 CCM,不适用于 CBC。