You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python PyCryptodome生成RSA密钥格式不符合预期怎么办?

问题说明

你当前的代码仅提取了RSA密钥对的数学参数(模数n、公钥指数e)的原始数值,没有进行标准格式编码。你提到的带-----BEGIN PUBLIC KEY-----/-----BEGIN PRIVATE KEY-----标识的是PEM格式的通用密钥存储标准,本质是将ASN.1编码的密钥结构做Base64编码后加上固定头尾标识,需要调用pycryptodome内置的导出方法生成。

完整实现代码
from Crypto.PublicKey import RSA

# 生成2048位RSA密钥对
keyPair = RSA.generate(bits=2048)

# 导出PEM格式公钥
public_pem = keyPair.publickey().export_key(format='PEM')
# 导出PEM格式私钥
private_pem = keyPair.export_key(format='PEM')

# 可选:将密钥保存到本地文件
with open("public_key.pem", "wb") as f:
    f.write(public_pem)

with open("private_key.pem", "wb") as f:
    f.write(private_pem)
补充说明
  • 如果需要加密存储私钥,导出私钥时可添加passphrase参数指定密码,示例:keyPair.export_key(format='PEM', passphrase=b'自定义密码')
  • 生成的PEM格式密钥和macOS自带的openssl工具生成的密钥格式完全兼容,可直接通用。

内容的提问来源于stack exchange,提问作者The Outstanding Question Asker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:45:03