从 json 密钥对中提取加密密钥

Posted

技术标签:

【中文标题】从 json 密钥对中提取加密密钥【英文标题】:extract cryptographic key from json keypair 【发布时间】:2020-11-28 04:21:08 【问题描述】:

这个非常简单,但我很难在别处找到答案。 给定一个 RS256 密钥对,哪些变量是私钥?

我在 mkjwk.org 上生成了一个 RS256 JWK,它看起来像这样:


"p": "some string value",
"kty": "another string value etc these are all just strings",
"q": ..,
"d": ..,
"e": ..,
"use": ..,
"kid": ..,
"qi": ..,
"dp": ..,
"alg": ..,
"dq": ..,
"n": ..

我想用它来使用 pyjwt 对有效载荷进行签名,如下所示:

encoded = jwt.encode('some': 'payload', private_key, algorithm='RS256')

private_key 变量必须是字符串。那么它是哪个字符串呢?

我对 RSA 的工作原理以及密钥生成过程涉及不同的变量有一些基本的了解。但是我看到的所有资源都没有提到 p、q、di 等每个变量是什么例如:

另一个问题:Create RSA instance from JWKS without knowing primes p or q

***:https://en.wikipedia.org/wiki/RSA_(cryptosystem)

【问题讨论】:

不,这不是验证(公钥)我问的是签名(私钥) 【参考方案1】:

没关系再次查看***。这是d。

【讨论】:

以上是关于从 json 密钥对中提取加密密钥的主要内容,如果未能解决你的问题,请参考以下文章

从 JSON 响应中提取浮点密钥对值时出现 TypeError

Redshift - 使用 Python UDF 从 JSON 中提取根密钥

提取所有 JSON 密钥

仅当特定密钥对值与可迭代匹配时,才在 JSON 对象中获取多个 JSON 密钥对值

如何从 json 对象中获取密钥

如何在python中加密JSON