知道n和d生成PEM私钥文件

时间:2015-01-16 05:34:01

标签: python rsa asn.1 pem

出于学术原因,我成功地将小尺寸RSA公钥计算并提取n,p,q,e然后计算d。我的问题是,有没有办法使用python为私钥(d,n)生成.pem私钥文件,以便更容易验证加密/解密是否顺利?

2 个答案:

答案 0 :(得分:0)

pyasn1和pyasn1-modules包将为您提供用于存储私钥信息的数据结构(PKCS#8)。上面提到的包还可以序列化/反序列化私钥数据结构(以及base64编码)组成PEM文件。

有关详细信息,请参阅pyasn1-modules / tools / pkcs8dump.py工具和pyasn1 documentation

答案 1 :(得分:0)

迟到的答案,但this script应该可以帮助您实现目标。以下是作者对此的评论:

  

简介

     

这是一个获取JWKS结果的Python脚本,对于每个jwk,   使用模数指数生成PEM编码的公共   密钥,适用于jwt.io

等工具      

以下是使用此工具将PEM编码为公共的示例   “example.okta.com”的关键字Okta org:

./jwks_to_pem.py --org example.okta.com

Fetching JWKS from example.okta.com
PEM for KID 're7eOFV6SiygSbCyYHGGdERFCJ_EoNpi9Duv0FIxllo'
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgVdVgO4RogxtWt4XN2vO
9SG3Ekt6Qh+k6Io28dTNjEWuNxCYCtQI2dFtFs2y7OyLxQ2e3491XTDVRxtUx/Kl
RhQCcGDtLM5vTRWtGo39heg9dLWv7mqlk+jVkJrK2vAO+0bfl0x2Ouov4VS4Ixwx
lJfaec8v0cw+xjcJc29Y28WNFYhW/wpf1uEHYAf/pQ9q7S25rhK5yPv23101P7pA
bCNDyFB6PYLuXxqkE7dq7rIZXfw5xgNQBRugBrSmUEjoCFs3XowAXCk2gWhM/1Lg
mSqaaAh/Cu5vvzM0wYoaEi598LWYmtgurQ3C2Nenu8HVjI+zCSg8v7VrcTa1MHua
owIDAQAB
-----END PUBLIC KEY-----

PEM for KID 'kTP2cLZY0qA2qfnedNEgx6rs6yqIEdf4DQYYV2m4KPQ'
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjKb91FLaoZe9/5NEMZrO
1eDn4hdrhtjrvsy+qO1QIbbdhRXJIJoE+qpHmgmq1gK28OZCV51xUAwk8ugw5p7/
m2wIarykHtXuBmhcFPkWez6N/yX30qvdOPPKUGqd05AoGcrzAW6fV07CRROU+5g1
RnTdNasLEMYaq0xPlmCMDjb3usyiafGyyrwg4+tndOTry4uMtF7LeTVLZo9Tnn2x
dJiytWWh+Rq5/KAn1mJ2GgwG8tp8o7SRf65c0LYQenN1d6vXX/Iimq/mg//B5CHP
zIaUrZfoL+2sbRIyQ5AePlDyn8Neg6sIsV9nTkPAcYvvQsS+/8xnfNq6np0zKbua
dQIDAQAB
-----END PUBLIC KEY-----