RSA 密钥对生成器
生成 PEM 格式的 RSA 公钥 / 私钥对。
RSA 密钥对由需要保密的私钥和可以公开的公钥组成:用其中一把签名或加密的内容,由另一把来验证或解密。本工具用浏览器内置的 Web Crypto 生成新的密钥对,并把两把密钥都写成 OpenSSL 和大多数库都能读取的 PEM 文本。密钥在你的设备上生成,不会上传或保存;免费,无需注册。
如何生成 RSA 密钥对
- 选择密钥长度:2048 位是通常的最低要求,需要长期使用的密钥选 3072 或 4096 位。
- 选择格式:除非某个工具要求 BEGIN RSA PRIVATE KEY,否则选 PKCS#8(BEGIN PRIVATE KEY)。
- 点“生成密钥对”。生成 4096 位密钥可能需要几秒钟。
- 离开页面之前,复制或下载私钥和公钥(.pem)。
功能
- 2048、3072 或 4096 位密钥,公钥指数为 65537
- PKCS#8 和 SPKI 格式的 PEM(BEGIN PRIVATE KEY、BEGIN PUBLIC KEY),或供旧工具使用的 PKCS#1(BEGIN RSA PRIVATE KEY)
- 生成后可切换格式:同一把密钥,换一种写法
- 可复制每把密钥,或下载为 .pem 文件
- 由浏览器内置的 Web Crypto 生成;OpenSSL 校验结果为有效
隐私安全吗?
是的。密钥对由浏览器内置的 Web Crypto 生成,只存在于本页:不会上传或保存任何内容。离开或刷新页面之前,请复制或下载两把密钥。
常见问题
PKCS#8 还是 PKCS#1,我需要哪一种?
两者保存的是同一把密钥。PKCS#8(BEGIN PRIVATE KEY,公钥为 BEGIN PUBLIC KEY)是 OpenSSL 3 输出、也是大多数库期望的格式。PKCS#1(BEGIN RSA PRIVATE KEY、BEGIN RSA PUBLIC KEY)是较旧的 RSA 专用格式,仍有一些工具要求使用。生成后切换格式,看到的是同一把密钥的另一种写法。
OpenSSL 能读取这些密钥吗?
能。openssl pkey -in private.pem -check 会报告密钥有效,openssl rsa -in private.pem -traditional 输出的内容与本页显示的 PKCS#1 版本完全相同(已用 OpenSSL 3.0 验证)。
应该选多长的密钥?
2048 位是目前可接受的最低长度;NIST 认为它在 2030 年之前都够用。需要在那之后仍然安全的密钥,请选 3072 或 4096 位。密钥越长,生成和使用都越慢。
如何给私钥加上密码保护?
密钥以未加密的形式显示,以便任何工具都能读取。要加密保存,请运行 openssl pkey -in private.pem -aes256 -out private-encrypted.pem 并设置一个密码短语。
这把密钥能用于 SSH 吗?
请改用 SSH 密钥生成工具:它会输出 ssh 和服务器所需的 OpenSSH 文件(id_rsa 或 id_ed25519,以及 .pub 公钥行)。