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

jose - 错误:导入“pem”密钥时没有密钥导入程序

该应用程序遵循node-jose 2.0.0导入.pem密钥的说明。这是文档:

密钥已经使用.pem表单生成,其内容存储在 nodejs 配置文件中,如下所示process.env.josePrivateKey

这是将密钥添加pem到密钥库的代码:

但是有一个错误:

密钥导入这里缺少什么?

0 投票
1 回答
305 浏览

jose - jose 中有什么工具可以将密钥从 PEM 转换为 Ed25519 的 JWK?

Ed25519PEM密钥对生成如下:

jose 3.11.1parseJwk,接受JWK输入,用于生成用于签名和验证的密钥。josePEM密钥转换为在第三方实用程序中JWK使用paseseJwk或与第三方实用程序一起使用是否有实用程序?我没有找到一个nodejs项目。

0 投票
1 回答
931 浏览

jwt - Ed25519 的算法值?

RFC7518 有一个JWT 中使用的算法值列表。但是 没有任何价值EdDSA,例如Ed25519。在Ed25519Jose 中验证时也不接受作为有效值。什么是正确的 alg 值Ed25519

0 投票
0 回答
242 浏览

json - 有没有办法使用 .Net 框架创建加密的 JWT,以替代使用 jose-jwt 之类的库?

我有一个 ASP.Net 应用程序,我正在使用这个库:https ://github.com/dvsekhvalnov/jose-jwt创建一个加密的 JWT,如下所示:

publicKey只是我从公共 JWK 创建的 RSA 密钥

我想知道是否有一种方法可以通过使用普通的 .Net Framework 而不是这个库来生成相同格式的加密 JWT。我尝试使用Microsoft.IdentityModel.TokensSystem.IdentityModel.Tokens命名空间,例如:

但是我意识到这个方法的输出与 jose-jwt 库的Encode方法产生的输出格式不同。我是否遗漏了什么,或者这不是在.Net 中创建相同加密 JWT 的方法?

当我尝试使用相同的jose-jwt库来解密上面生成的 JWT 时,而不是获取解密的有效负载(“some_text_to_encrypt”),我得到另一个 JWT,其有效负载中的值:

Result after decrypting: eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJ2YWwiOiJzb21lX3RleHRfdG9fZW5jcnlwdCIsIm5iZiI6MTYxODkzNjk0NywiZXhwIjoxNjE4OTQwNTQyLCJpYXQiOjE2MTg5MzY5NDIsImlzcyI6Iklzc3VlciIsImF1ZCI6IkF1ZGllbmNlIn0.

然后我可以在jwt.io中解码以获得以下结果:

标题:{“alg”:“none”,“typ”:“JWT”}有效负载:{“val”:“some_text_to_encrypt”,“nbf”:1618936947,“exp”:1618940542,“iat”:1618936942,“iss ": "发行者", "aud": "受众" }

0 投票
0 回答
56 浏览

node.js - 如何使用 node-jose 加密 json 对象?

我正在尝试使用库 node-jose 将加密的用户对象发送到我的客户端。我真的不明白它是如何工作的。该文档从不谈论如何加密数据对象。

基本上,如何做这样的事情:

然后,在我的 React 应用程序中,我应该能够破译它。谢谢你的帮助!

0 投票
1 回答
117 浏览

python - jws.sign 不适用于算法 RS256

我正在尝试使用 jws.sign 对 JSON 编码对象进行签名,因此尝试了此处给出的示例: https ://python-jose.readthedocs.io/en/latest/jws/index.html

但问题是 jws.sign 在上面示例中给出的算法 HS256 上运行良好,但在算法 RS256 上失败并出现以下错误:

signed = jws.sign({'a': 'b'}, 'secret', algorithm='RS256') Traceback(最近一次调用最后):文件“/usr/local/lib/python3.7/dist-packages /jose/backends/cryptography_backend.py”,第 231 行,在init中 self.prepared_key = load_pem_public_key(key, self.cryptography_backend()) 文件“/usr/local/lib/python3.7/dist-packages/cryptography/hazmat/primitives/serialization/base.py”,第 23 行,在 load_pem_public_key 返回backend.load_pem_public_key(data) 文件“/usr/local/lib/python3.7/dist-packages/cryptography/hazmat/backends/openssl/backend.py”,第 1273 行,在 load_pem_public_key self._handle_key_loading_error() 文件“/usr /local/lib/python3.7/dist-packages/cryptography/hazmat/backends/openssl/backend.py”,第 1526 行,在 _handle_key_loading_error 中引发 ValueError(“无法反序列化密钥数据。”) ValueError:无法反序列化密钥数据.

任何线索都会有所帮助

0 投票
1 回答
201 浏览

javascript - ECDSA 的微妙加密:无法使用指定的密钥用法创建密钥

我想在 Chrome 中导入 ECDSA 私钥来签署一些数据,但尝试使用crypto.subtle.importKey:importKey使用secp256k1.

尝试使用 lib 时,我遇到了以下错误: Cannot create a key using the specified key usages.

编码:

仔细检查了我的私钥,得到了Uint8Array(32)似乎通常可以使用importKey.

任何帮助表示赞赏。

0 投票
1 回答
1272 浏览

node.js - 使用 jose 创建 JWK 和 JWS,但是出现错误“不支持的算法”

我必须使用 ES256 算法加密有效载荷。还必须在 JWK 中使用 child,如下面的代码所述。我正在使用 jose 库来创建签名。下面是代码:

但我收到错误:

不支持的算法。

请让我知道为什么会出现这个问题。

0 投票
0 回答
93 浏览

java - 如何在 Spring Boot 中使用加密的有效负载

我尝试使用以下方法处理它:

我收到以下错误:

org.springframework.web.HttpMediaTypeNotSupportedException:不支持内容类型'application/jose;charset=UTF-8'

0 投票
2 回答
62 浏览

node.js - Nodejs使用公钥字符串构造公钥

我有一个如下的公钥字符串 let pk_str = "public key strig here" 并且我正在使用该库jose来验证 JWS

尝试运行脚本时出现以下错误

有没有办法构造密钥?