问题标签 [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 回答
872 浏览

.net-core - 使用 Apereo CAS 发布的 net core 加密 JWT 解码

Apereo CAS Single-Sign-On 发布了以下 JWT。

我知道它是使用JWE 标准的加密 JWT 。加密密钥如下。

签名秘密如下。

用于正确解码此 JWT 的 java 代码如下。

我正在尝试在 net core 2.2 中解码相同的 JWT。代码如下。

我故意禁用了签名验证和任何其他类型的验证。不过,在 JWT 验证中,我有以下错误。

似乎有效载荷未正确解码。到目前为止,很多谷歌搜索都没有给我任何结果。

0 投票
0 回答
639 浏览

ios - 如何在 iOS 8 及更高版本中使用 OAEP-256 填充实现 RSA 加密?

我正在尝试JWEJOSE 标准实现 Json Web Encryption aka。

我已尝试使用 iOS 中可用的 CommonCrypto lib 进行加密,但它不支持 OAEP-256 填充。

我不能使用 iOS 安全框架,因为它的类SecKeyAlgorithm和加密模式等rsaEncryptionOAEPSHA256AESGCM仅适用于 iOS 10 及更高版本。像 JOSESwift ( https://github.com/airsidemobile/JOSESwift ) 这样的其他库会有所帮助。

由于我不是安全专家,因此我无法编写自己的加密(因此不推荐)。

SO和谷歌搜索的其他问题也无济于事: Objective c RSA with OAEP padding sha256 prior ios 10

在iOS上做这件事的任何可能的方式是什么?任何帮助表示赞赏。

0 投票
0 回答
1404 浏览

javascript - 我需要在java中解密JWE响应

我能够获得解密的数据(有效载荷),但无法验证数据在传输中没有改变。

使用您的 RSA 私钥和标头中指定的“alg”算法对加密密钥进行解密,以生成对称密钥。接下来,使用 JWE 解密库使用对称密钥、初始化向量、标签和 ascii 编码的 Header 来解密 Cipher Text,在 Header 中使用“enc”算法。

JavaScript 工作代码

以下Java代码缺少验证部分,因为我不知道该怎么做。

Java 代码

0 投票
1 回答
1325 浏览

java - Java 和 .Net 4.6 为相同的密钥生成不同的 JSON Web 加密 (JWE) 令牌

我需要从 Java 和 .Net 4.6 c# 应用程序生成 JWE 令牌(JWE 令牌将在 Java 和 .Net 应用程序之间传递)。Java 应用程序使用 Nimbus Jose 库,.Net 应用程序使用nuget 中可用的jose-jwt包。

我目前正在制作一个样本。但是,对于相同的密钥、密钥 ID 和有效负载,Java 和 .Net 应用程序会生成不同的 JWE 令牌。

Java 加密代码示例(由另一个第 3 方完成,无法更改其实现):

.Net 代码

这两个 JWE 令牌是不同的。我在 .Net 代码中缺少什么(我想只更改 .Net 代码)?是否还有其他可用于 JWE 的 .Net 4.6 兼容库?

0 投票
0 回答
1128 浏览

c# - 使用 JOSE 和 A256GCM 解密 JWE 令牌

我对此很好奇,想看看是否有人理解它。

我正在使用jose-jwt.NET 中的 nuget 对有效负载进行编码:

这将返回一个看起来正确的令牌。

当我使用 JOSE 解密相同的有效载荷时:

它抛出一个错误:

BCrypt.BCryptDecrypt():身份验证标签不匹配

这是正常的吗?JWE 加密是否应该无法解密,或者有人可以解释为什么会发生此错误?

谢谢

0 投票
1 回答
136 浏览

java - 如何将 OAEPParameterSpec 添加到 JWE 对象?

我需要将 OAEPParameterSpec 作为 AlgorithmParameterSpec 添加到 JWE(Json Web 加密)对象。我怎样才能做到这一点?

我正在使用客户端 - 服务器应用程序。服务器正在使用 RSA-OAEP-256 加密算法进行加密,客户端无法解密它,因为它使用的是 HSM 并且存在填充问题。许多研究表明,必须使用 BouncyCastle 提供程序来解决这个问题,但这与我无关,因为我无法更改 HSM。

为了做到这一点,在加密之前应该在服务器端进行调整是添加以下行

这个“oaepParameterSpec”必须添加到我正在使用的 JWE 对象中,但我找不到任何参考来指导我如何做到这一点,也找不到 jose4j 规范中关于如何更改/设置 AlgorithmParameterSpec。

0 投票
1 回答
1202 浏览

php - 无法使用 github.com/web-token/jwt-framework 解密 JWE 令牌

遵循https://github.com/ndi-trusted-data/myinfo-demo-app/blob/master/lib/security/security.js上的指南

我设法在节点 js 环境中解密了 JWE 令牌,但没有在 php 中解密。

但是,使用 PHP 中的相同实现,我无法使用相同的密钥解密相同的 JWE。

我下面的代码有什么问题吗?尝试了2天,我被卡住了。我的代码或两个库的实现都不是标准的有什么问题吗?

这是nodejs成功解密的输出。

遵循文档https://web-token.spomky-labs.com/components/encrypted-tokens-jwe/jwe-loading

期待解码的 JWT 有效负载,但不断出错。

0 投票
0 回答
340 浏览

java - Java (Android):根据 JWA (RFC 7518) 的 Diffie-Hellman 密钥交换过程

我需要使用 ECDH 密钥交换过程来加密/解密客户端和服务器之间的消息。
我使用jose4j库来实现加密功能。

我有本地密钥对(privatedC和 public QC),我有远程公钥QT,我有transactionIDand referenceNumber

现在,我需要从所有这些详细信息中生成一个内容加密密钥 (CEK),并使用它来解密从服务器接收到的消息以及加密发送到服务器的消息。

我找不到应该怎么做。

规格:

Diffie-Hellman 密钥交换过程根据 JWA (RFC 7518) 在 Direct Key Agreement 模式下使用曲线 P-256,dCQT生成一对 CEK(每个方向一个),它们被标识为transactionID. 为了从包含的 Concat KDF 函数中获取 256 位的密钥材料,假设 ECDH-ES+A256KW 的“enc”参数并假设 KDF 的 algorithmID 为空(注意,这仅使用 RFC 7518 进行密钥派生)。此版本规范支持的参数值为:

  • “alg”:ECDH-ES
  • “apv”:referenceNumber
  • “EPK”:
  • {“kty”:“EC”“crv”:“P-256”}
  • 所有其他参数:不存在
  • CEK:“kty”:提取为 oct-256 位:
    • CEK(a->s):256 位
    • CEK(s->a):256 位

谢谢!

0 投票
0 回答
381 浏览

ruby - Ruby JWE 与 A256GCMKW 算法和加密与 A256GCM

我已经使用 alg:"A256GCMKW"、enc:"A256GCM" 和 channelSecurityContext:"SHARED_SECRET" 加密了 JWE 中的纯文本。我为此使用Jose Gem。我生成了一个可以解密但其他方无法解密的有效负载。他们为此使用了 nimbus-jose。生成了我无法解密的有效载荷。

有人可以帮忙吗?我需要按照 JWE 解密。

JWE 包含

shared_secret 密钥是 5foz3ZBrufi2JzmKgoLO6Av7pu4btFGY5iE@uFm0

在 Java 中,我们可以使用 Nimbus JOSE+JWT 库对其进行解密。它的代码如下

0 投票
1 回答
61 浏览

java - 如何捕获 ResponseEntityExceptionHandler 的响应以创建 JWE 加密

我有基于 springboot 的宁静网络服务。我有 CryptoResponseBodyAdvice 来捕获来自控制器的响应并从响应正文中创建 JWE 并将 JWE 作为 API 响应发送。 公共类 CryptoResponseBodyAdvice 实现 ResponseBodyAdvice

当一些异常发生并且请求到达异常解析器时,麻烦就来了。在这种异常情况下,响应不受CryptoResponseBodyAdvice 公共类 ExceptionResolver 扩展 ResponseEntityExceptionHandler的干扰

您能否建议哪种 ControllerAdvice 或其他东西可以帮助我捕获来自 ResponseEntityExceptionHandler 的响应,以便我可以从中创建 JWE。