问题标签 [jose]

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

python - 哪个 Python JOSE 库支持嵌套 JWT(签名+加密)?

我查看了 python-jose 和 jose,但似乎都不支持加密签名的 JWT。例如,“jose”库支持单独签名和加密,无需嵌套。

我是否遗漏了一些东西,比如在库外嵌套 JWT 相当容易?如果是这样,请分享有关实现此目的的提示,以便结果格式正确。

0 投票
1 回答
1392 浏览

ios - 在 iOS 编程中使用 JWT 使用 Javascript 对象签名和加密 (JOSE) 进行加密?

我正在尝试将Javascript 对象签名和加密 (JOSE) jose与我的 iOS 应用程序集成。

引用此示例代码:hongkongkiwi/ObjectiveC-JOSE ..使用此尝试将我的输入参数作为加密格式发送到服务器。

如果有人集成了 JOSE,请向我提供流程。

目前我已经实施:

实际上我找到了一个使用 JOSE 进行解码的片段:

http://popdevelop.com/2013/12/decode-json-web-token-jwt-in-ios-objective-c/ 但没有找到任何用于编码的库..所以我怀疑是否可以使用 JOSE 进行编码iOS与否?

0 投票
1 回答
840 浏览

c# - JOSE 在 Visual Studio 中找不到,如何安装/导入它?

我启动了Azure 移动应用程序快速入门(.NET 后端)。

我试图添加using JOSE;我的ApiController标头,但在我的 Visual Studio 中找不到它:

(找不到类型或命名空间名称“Jose”(您是否缺少 using 指令或程序集引用?))

我尝试运行包管理器控制台

PM> 安装包 jose-jwt

错误:

安装包:无法解决依赖关系。

“Microsoft.Web.Infrastructure 1.0.0”与“Microsoft.AspNet.Web.Optimization 1.1.3 约束:Microsoft.Web.Infrastructure (≥ 1.0.0)”、“Microsoft.AspNet.WebPages 3.2.3 约束”不兼容: Microsoft.Web.Infrastructure (≥ 1.0.0)'。

在行:1 字符:1

  • 安装包 jose-jwt
  • ~~~~~~~~~~~~~~~~~~~~~~~~
    • CategoryInfo : NotSpecified: (:) [Install-Package],异常
    • FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

如何解决这个问题?感谢解决方案。

0 投票
0 回答
406 浏览

javascript - JOSE_JS JWE 用 javascript 加密的数据 go 不会解密

生成公钥的服务器端代码是:

私钥是存储在服务器端内存中的单例,公钥是另一个单例,它被返回给请求它的客户端。

然后,作为 Web 浏览器的客户端通过服务器的公钥加密数据:

然后服务器会疲于解密刚刚被上面的代码加密的数据:

但不幸的是,我们收到以下错误:

0 投票
1 回答
1406 浏览

jwt - 什么时候使用不受保护的 JWS 标头?

我不明白为什么存在 JWS 不受保护的标头。

对于某些上下文:JWS 未受保护的标头包含不受完整性保护的参数,并且只能在 JSON 序列化的每个签名中使用。

如果它们可以用作顶级标题,我可以理解为什么有人可能想要包含一个可变参数(这不会改变签名)。然而,这种情况并非如此。

谁能想到一个用例或知道它们为什么包含在规范中?

谢谢!

JWS 规范

0 投票
1 回答
805 浏览

node.js - NODE.JS 中的 JWE(JSON Web 加密)

我正在尝试为我的 Rest API 实现 JWE。我遇到了以下实现 JWE 的 NODE 库。但是,该库缺少有关如何使用 JSON Web 密钥(JWK)(JSON 对象)的文档,这些文档有助于密钥管理模式。JWE文档内容如下:

一种确定要使用的内容加密密钥值的方法。用于确定 CEK 值的每种算法都使用特定的密钥管理模式。本规范采用的密钥管理模式是密钥加密、密钥包装、直接密钥协议、带密钥包装的密钥协议和直接加密。

所以我想知道我应该如何将 JWK 提供给这个库以实现 JWE ?我想知道我的 JSON 格式将如何决定密钥管理模式?任何人都可以为 JWK 提供这种 JSON 格式并告诉它如何提供密钥管理模式吗?

节点何塞

0 投票
1 回答
4215 浏览

key - Nimbus JOSE JWT 加密与 RSA、私钥和公钥

对示例代码中应用的概念“带有 RSA 加密的 JSON Web Token (JWT)”的概念有疑问

参考见:http ://connect2id.com/products/nimbus-jose-jwt/examples/jwt-with-rsa-encryption

示例代码提供了一个RSAEncrypter基于使用公钥的类,以及一个RSADencrypter使用相反的类,即私钥。

从更实际的角度来看,我无法理解为什么 JSON Web Token 会以这种方式生成,因为加密信息通常会使用 JWE 格式发送给客户端。同时,客户端从共享源(如数字证书存储或 JWK 存储)中提取公钥,然后从 JWE 数据中解密信息。

我的问题:为什么客户端使用私钥?为什么不在 Encrypter 类中使用私钥,在 Decrypter 类中使用公钥?

欢迎澄清此 RSA 示例代码的概念方面。

0 投票
1 回答
3483 浏览

java - 如何使用 RSA 私钥解密 JWT

我们有一个远程应用程序向我们发送 JWT。他们使用“RSA-OAEP-256”算法和“A256CBC-HS512”加密以及我们的公钥对令牌进行编码,现在我正在尝试对其进行解密并解析声明。我用 生成了密钥openssl rsa -in <myPrivateKey> -pubout -out <myPublicKey>,然后根据此 SO帖子myPrivateKey的建议转换为 .der 。按照nimbus的指南,我想出了以下内容。

java.security.PrivateKey 解析正确,但出现错误jweObject.decrypt(new DirectDecrypter(encodedPk));

The Content Encryption Key length must be 128 bits (16 bytes), 192 bits (24 bytes), 256 bits (32 bytes), 384 bits (48 bytes) or 512 bites (64 bytes)

此外,在调试器中,我可以看到它jwe.payload为空,但我不知道是否应该在解密之前填充它。

我是否需要以不同的方式生成密钥,还是我省略了另一个步骤?我需要在某处指定算法,还是使用不同的解密器方法/类?

0 投票
1 回答
1564 浏览

java - JWT 解密,但抛出 mac check failed 错误

我有一个 jhipster spring boot 应用程序,它接受由第三方生成的令牌,该令牌已用我们的公钥加密。我有一个 JWTFilter,它使用我们的私钥解密令牌并创建一个存储在安全上下文中的身份验证对象。一旦执行到达控制器,我打算从安全上下文中提取用户名和密码,以便我可以将 API 调用回第三方应用程序。

这在我们的集成环境中在某种程度上起作用,其中第三方具有指向我们应用程序正在运行的实例的链接。为了在本地进行测试,我点击了集成环境中的链接,并复制了令牌。然后我从 Postman 向我在本地运行的应用程序的一个实例发出请求,并在标头中添加了令牌,就像我们的 js 客户端一样。

我正在使用“com.nimbusds:nimbus-jose-jwt:4.23”进行解密,但出现“MAC 检查失败”错误。我可以在调试器中将 macCheckPassed 的值更改为 true,解密将完成,允许我查看声明并将它们加载到安全上下文中。但是,其他一些过滤器正在捕获我的 hack,请求因授权错误而被拒绝。

这是什么 MAC 检查?我认为这与令牌的起源有关。使用源系统的 MAC id 对令牌进行加密,当它与我当前的主机不同步时会引发错误。

如果解密通过,还有什么其他过滤器会拒绝请求?我应该设置其他一些标志以便框架尊重请求吗?

0 投票
1 回答
217 浏览

java - 使用 numbus 库更新 JWT 令牌字段

我有一个签名的 JWT 令牌,我需要更新一个现有的字段,我们称之为userName。我正在使用 NIMBUS + JOSE 和。我想出了如何解析它并提取声明:

但解析不是我唯一需要的:我已经更新了字段并重新组装了它的令牌。是否有一种简单的方法或任何一种惯用的解决方案,无需从头开始重新创建令牌。