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