RSA/ECDSA密钥 — SSH/TLS/PEM在线生成器
在线生成 RSA/ECDSA 密钥对,用于 SSH、TLS、JWT 和 OpenSSL。PEM 格式导出,浏览器本地处理,密钥不上传服务器。
功能特性
- ✓两种算法模式 — RSA(2048/4096 位)和 ECDSA(P-256/P-384/P-521),满足不同加密需求
- ✓标准 PEM 输出 — 公钥导出为 SPKI 格式,私钥导出为 PKCS#8 格式,兼容 OpenSSL 和主流加密库
- ✓安全密钥生成 — 使用 Web Crypto API(crypto.subtle.generateKey)生成密码学安全的随机密钥
- ✓一键复制 — 每条密钥独立复制,附带视觉反馈
- ✓保存为 .pem 文件 — 公钥和私钥分别保存为独立 PEM 文件
- ✓100% 浏览器端处理 — 所有密钥生成在本地完成,私钥永不离开设备或网络
- ✓密钥详情面板 — 显示每次生成密钥的算法名称、曲线/尺寸、格式元数据
- ✓生成进度条 — RSA 素数搜索期间实时显示进度(4096 位密钥时特别有用)
使用方法
- 1选择密钥算法:RSA 适用于非对称加密,ECDSA 适用于数字签名和现代应用。
- 2选择密钥长度:RSA 可选 2048(默认推荐)或 4096 位;ECDSA 可选 P-256、P-384 或 P-521 曲线。
- 3点击生成按钮 — 工具使用浏览器的 Web Crypto API 创建密码学安全的密钥对。
- 4查看 PEM 格式的公钥和私钥。点击复制按钮复制到剪贴板。
- 5点击保存按钮保存为 .pem 文件,用于 OpenSSL、SSH 或服务器配置。
- 6查看密钥详情面板了解算法类型、密钥尺寸/曲线和格式信息。
- 7RSA 密钥生成时观察进度条——2048 位约 2-5 秒,4096 位在慢速设备上可能需要 10-30 秒。
- 8将公钥用于 TLS/SSL 证书:用私钥生成 CSR,然后提交给证书颁发机构。
- 9将密钥对用于 JWT 签名:配置认证服务器用私钥签名 Token,分发公钥用于验证。
常见问题
RSA 和 ECDSA 有什么区别?
∨
RSA 是最广泛使用的非对称加密算法,适用于加密、数字签名和密钥交换。兼容性最好但需要较大的密钥(2048-4096 位)。ECDSA(椭圆曲线数字签名算法)在同等安全性下密钥小得多——P-256 与 RSA 3072 安全性相当。ECDSA 签名速度更快,是区块链、JWT、TLS 证书等现代应用的首选。
应该使用什么密钥长度?
∨
RSA 推荐 2048 位(行业标准)。4096 位安全性更高,但密钥生成和加密操作明显变慢。ECDSA 推荐 P-256(secp256r1),兼容性最好。P-384 被某些政府标准要求(NSA Suite B)。P-521 安全性最高但兼容性有限。
PEM 格式是什么,如何使用这些密钥?
∨
PEM 是基于 Base64 编码的标准格式,带标题/结尾行。公钥使用 BEGIN PUBLIC KEY / END PUBLIC KEY(SPKI 格式,RFC 5280),私钥使用 BEGIN PRIVATE KEY / END PRIVATE KEY(PKCS#8 格式,RFC 5208)。这些文件兼容 OpenSSL、OpenSSH、Node.js crypto、Python cryptography、TLS 服务器、JWT 等。
生成的密钥安全吗?
∨
是的。工具使用 Web Crypto API(crypto.subtle.generateKey),它是内置于每个现代浏览器的密码学安全伪随机数生成器(CSPRNG)。与浏览器用于 HTTPS/TLS 的是同一 API。生成的密钥与 OpenSSL 创建的密钥不可区分。所有生成在本地完成——密钥永远留在你的浏览器中。
这些密钥可以用于 SSH 吗?
∨
RSA PEM 密钥经过转换后可用于 SSH。你可能需要用 ssh-keygen -f public-key.pem -i -m PKCS8 提取 SSH 格式的公钥。ECDSA 密钥(尤其是 P-256)也被 OpenSSH 6.5+ 支持。
可以将这些密钥导入其他系统吗?
∨
可以。PEM 格式被普遍支持。Node.js 用 crypto.createPublicKey() 和 crypto.createPrivateKey()。Python 用 cryptography 库的 load_pem_private_key() 和 load_pem_public_key()。OpenSSL 用 openssl pkey -in key.pem。JWT 可用公钥验证签名、私钥签名。
为什么密钥生成有时很慢?
∨
RSA 密钥生成需要寻找大素数,2048 位需要几秒,4096 位需要更久。这是正常现象,说明真的在做随机数生成。ECDSA 通常快得多(一秒以内),因为它不需要素数搜索。
你们会存储我的私钥吗?
∨
不会。私钥完全在浏览器内存中生成。永远不会传输到任何服务器、不会被存储在任何数据库中。关闭或刷新页面后密钥永久消失。你有责任保存私钥——如果丢失,包括我们在内的任何人都无法恢复。
这些密钥可以用于 SSH 认证吗?
∨
RSA PEM 密钥经过格式转换后可配合 SSH 使用。提取 SSH 公钥格式:ssh-keygen -f public-key.pem -i -m PKCS8。私钥可能需要转换为 OpenSSH 格式:ssh-keygen -p -m PEM -f private-key.pem。ECDSA P-256 密钥原生支持 OpenSSH 6.5+。
PKCS#8 和 SPKI PEM 格式有什么区别?
∨
PKCS#8(RFC 5208)是私钥的标准格式,将密钥数据与算法标识打包。SPKI(RFC 5280)是公钥的标准格式,包含算法和密钥数据。两者都被 OpenSSL、Node.js、Python、Java、Go 原生支持。
相关工具
密码生成器 — 强随机安全密码(自定义长度/符号)
密码生成器,使用 Web Crypto API 创建强随机密码。支持自定义长度和字符集,实时强度指示器和熵值计算。浏览器本地运行,不上传数据。
UUID生成器—UUID校验解码+NanoID/ULID生成
在线生成、校验与解码 UUID v1-v7。支持批量创建 NanoID 和 ULID。粘贴 UUID 查看版本、变体与时间戳。纯浏览器端。
JWT解码器 — 解析、验证与调试 Web 令牌
JWT 解码器,即时解码 JSON Web Token 查看头部、负载和签名。检查声明字段,检测过期、弱算法和 alg:none 安全问题。
JSON格式化 — 美化、验证与压缩在线工具
JSON 格式化工具,一键格式化、压缩、语法高亮和树形视图。支持键名排序、自定义缩进、行号显示、错误定位。浏览器本地运行。
哈希计算器 — MD5/SHA-256/SHA3等25+算法
25 种哈希算法:MD5、SHA-256、SHA-512、SHA3、BLAKE3、SM3 等。支持 HMAC、校验比对。浏览器本地计算。