RSA密钥对生成器

密钥长度(位)
下一步

RSA密钥对由两个数学关联的数字组成:一个公开密钥供他人使用,另一个私钥需严格保密。该生成器采用加密安全的随机源,以标准PEM编码方式生成这两组密钥。可直接用于启动 JWT 签名程序、为测试环境生成TLS证书,或无需通过命令行即可创建SSH身份凭证。

如何生成RSA密钥对

  1. 1

    选择密钥大小

    选择 2048、3072 或 4096 位。较长的密钥安全性更高,但签名和验证速度较慢。

  2. 2

    生成

    该工具利用WebCrypto原语生成新的模数和私钥指数。

  3. 3

    复制或下载

    获取PEM格式编码的私钥(BEGIN PRIVATE KEY)及对应的公钥(BEGIN PUBLIC KEY)。

  4. 4

    安全存储私钥

    请将其保存在安全密钥管理器或钥匙串中,切勿粘贴至聊天记录、电子邮件或公开代码仓库。

您应该使用多大的密钥?

尺寸越大并不意味着越好。合适的大小取决于密钥的使用期限以及您为每个签名愿意投入的CPU资源。

NIST指南概览

密钥大小 安全级别 常用场景 相对签名成本
2048位 约112位 JWT 签名、短期TLS证书、大多数API 1倍
3072位 约128位 长期有效的根证书颁发机构(CA),符合 FIPS >2030标准 约3倍
4096位 约140位 高安全性根证书,支持长期文档签名 约7倍

PEM的适用场景

密钥采用 PKCS#8/SPKI 封装,并在-----BEGIN----------END-----标记区间内进行Base64编码。这正是所有主流加密库均采用的格式:OpenSSL、Node.js的crypto、Python的cryptography、Go语言的crypto/rsa以及Java的KeyFactory

运营小贴士

  • 对覆盖范围广泛的签名密钥至少每年进行一次轮换。
  • 对于新系统,建议使用 ECDSA(P-256)或Ed25519,它们速度更快且签名体积更小。
  • 切勿在无关系统中重复使用同一密钥对;一旦密钥泄露,下游所有系统均将受到威胁。
  • 在将私钥存储于磁盘时,请使用密码短语。加密PEM格式(BEGIN ENCRYPTED PRIVATE KEY)为标准格式。

常见问题

是的,对于大多数API和会话签名场景而言。美国国家标准与技术研究院(NIST)及英国标准协会(BSI)仍认为2048位RSA加密算法在至少2030年前均可接受;但对于需要长期使用的场景,则推荐采用3072位算法。

PEM私钥与ssh-keygen -y -f key.pem配合使用,可生成ssh-rsa公钥。对于日常SSH通信,建议使用Ed25519,其密钥长度极短且加密速度更快。

第一个是 PKCS #1(仅支持RSA算法)。第二个是 PKCS #8(一种与具体算法无关的封装接口),这也是现代库的首选方案。该工具会输出 PKCS #8格式的结果。

实际上并非如此。密钥生成完全在本地通过 WebCrypto API 完成,而 PEM 格式文件则是在内存中组装完成后才显示在页面上的。

相关工具

此工具还提供其他语言版本