RSA / EC 密钥对生成器 – 在线生成 PEM / JWK 密钥

私钥是敏感信息,请只保存在安全的地方。密钥对全程在你的浏览器本地生成,不会上传,也不会被保存(刷新页面即丢失)。

关于此工具

完全使用浏览器 WebCrypto 在本地生成公钥/私钥对。可选 RSA(2048、3072 或 4096 位)或 ECDSA(P-256、P-384),并把两把密钥导出为 PEM(公钥 SPKI / 私钥 PKCS#8)或 JWK JSON。整个过程不上传任何数据,私钥也不会被保存——它只存在于当前页面,刷新即消失,请及时复制到安全的地方。适合生成 JWT 签名、本地开发等用途所需的密钥,而无需信任任何第三方服务器。

使用方法
  1. 选择 RSA 或 ECDSA,并确定密钥规格(模长或命名曲线)。
  2. 选择导出格式:PEM 或 JWK。
  3. 点击生成,复制公钥与私钥,并把私钥妥善保存。
RSA 和 ECDSA 怎么选?

RSA 兼容性最好,几乎所有工具、服务器与库都支持。ECDSA 在同等安全强度下密钥小得多(P-256 约等于 RSA 3072,P-384 约等于 RSA 7680),生成与运算也更快,但验证方需要支持椭圆曲线。两端都可控时优先 ECDSA,追求最大兼容性时选 RSA。

2048 位还是 4096 位?

2048 位 RSA 在可预见的未来仍被认为是安全的,且生成很快。4096 位安全余量更大,但密钥更长、生成可能耗时数秒。除非有明确的安全策略要求,否则用 2048 位即可。

私钥会被上传或保存吗?

不会。密钥对完全在你的浏览器本地通过 WebCrypto 生成,不发起任何网络请求。私钥绝不会写入 localStorage、cookie 或 IndexedDB——它只存在于当前页面的内存中,刷新页面即被清除。离开前请先复制到安全的地方。

PEM 和 JWK 有什么区别?

PEM 是带有 -----BEGIN/END----- 头尾的经典文本格式,OpenSSL、服务器与 TLS 工具链都使用它,作为密钥文件是稳妥的默认选择。JWK 是以字段形式存储密钥参数的 JSON,JSON Web Token(JWT)和许多 Web API 直接使用它。需要把密钥粘贴进 JSON 配置时,导出 JWK 更合适。