【问题标题】:How to create JWK from RSA Key pair?如何从 RSA 密钥对创建 JWK?
【发布时间】:2019-05-24 14:40:00
【问题描述】:

假设我有一个表示 RSA 密钥对的 python 结构如下:

rsa_key_pair = {
    'private_key': '-----BEGIN PRIVATE KEY-----\nMIIEvAIBADAN__OBSCURED__qxu3sWAlY/bstTB5WfX8PA==\n-----END PRIVATE KEY-----\n',
    'public_key': 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCDDqGTiBYyoB9T5Haow5gcPBIIiltLVyM4vo8Txia1czgrk2XGH5t4dsWrcXIXjQafNb7PKelXZdRU36vIIAaZCZ0As5LtkC5D93+KO9PFLGkHxWi2G43naR9hOnrKliMjOd+JRUdApdY8c/wYJbDxGGuw7W9e3MsLABFEK+TnPTVJtO8Ix78FiuHRooWfU5ph7clfTeyundN2BNv8mO6ZSBiBAk6tN8Fwpljs96Z/3HnMQutX1/AFkMn5h+E0EV4CgLPvtRazfzoWNlIiXGmiVUVHrM1wna9jT/jyb7aoxkthkAXb6NNyCW/Znxq45Ozy27kZcw/X4WQ0QMmpgfX'
}

如何编写 python 代码来生成可用于验证使用此 RSA 私钥签名的 JWT 的 JWK?使用的算法是 RSA256。

这个网站mkjwk 完成了我想做的事情。但我正在尝试在 python 代码中做到这一点。

【问题讨论】:

  • 我已经看过那个文档了。它在哪里显示如何从 RSA 密钥生成 JWK?我没看到。我只看到如何使用 JWK 来决定,而不是如何生成它。
  • 对不起,我读了你的问题。这是一个相关的事情:python-jose.readthedocs.io/en/latest/jwk/api.html

标签: python jwt rsa jwk


【解决方案1】:

这是一个如何使用Authlib 转储 JWK 的示例:

from authlib.jose import jwk

jwk.dumps(rsa_key_pair['public_key'], kty='RSA')
jwk.dumps(rsa_key_pair['private_key'], kty='RSA')

这是你的公钥的结果:

{
  "kty": "RSA",
  "n": "wgw6hk4gWMqAfU-R2qMOYHDwSCIpbS1cjOL6PE8YmtXM4K5Nlxh-beHbFq3FyF40GnzW-zynpV2XUVN-ryCAGmQmdALOS7ZAuQ_d_ijvTxSxpB8VothuN52kfYTp6ypYjIznfiUVHQKXWPHP8GCWw8RhrsO1vXtzLCwARRCvk5z01SbTvCMe_BYrh0aKFn1OaYe3JX03srp3TdgTb_JjumUgYgQJOrTfBcKZY7Pemf9x5zELrV9fwBZDJ-YfhNBFeAoCz77UWs386FjZSIlxpolVFR6zNcJ2vY0_48m-2qMZLYZAF2-jTcglv2Z8auOTs8tu5GXMP1-FkNEDJqYH1w",
  "e": "AQAB"
}

通过http://docs.authlib.org/en/latest/jose/jwk.html

猜你喜欢
  • 2020-12-26
  • 2018-11-27
  • 2023-03-11
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
相关资源
最近更新 更多