Generador de claves RSA
2048 / 3072 / 4096 bits · clave pública SPKI y privada PKCS#8 · con JWK y huella del módulo
私钥只存在于当前页面内存中:不写本地存储、不出现在任何网络请求里,刷新页面即消失。请妥善保管你复制/下载的内容。
—(对同一密钥对,指纹相同 = 同一把公钥,可用于核对)为什么私钥可以"只在你浏览器里"
密钥生成是纯数学运算。RSA 密钥对的生成只需要随机大数与模幂运算,这些运算现代浏览器的 Web Crypto 接口(背后常是操作系统/硬件的加密实现)都能直接完成。生成 2048 位密钥通常不到一秒,3072 / 4096 位也就多等几百毫秒——根本不需要把任何东西交给服务器。这也意味着:你的私钥从头到尾没有离开过这台设备,不存在"被服务器留存"的可能。
SPKI 与 PKCS#8 是两种标准容器。公钥按 SPKI(Subject Public Key Info)编码、私钥按 PKCS#8 编码,外面都包上 PEM 的 base64 与 BEGIN/END 头。这是目前最通用的两种格式:Nginx 的证书链、JWT 的 RS256 签名、OpenSSL 命令行都直接认。老式的 PKCS#1 私钥(BEGIN RSA PRIVATE KEY)本页不输出,需要时用 openssl pkey 转换即可。
模数指纹用来核对"是不是同一把公钥"。两把公钥是否相同,直接比文本容易看花眼;把公钥的模数(n)做 SHA-256 得到的短指纹则稳定可比。你在不同工具里生成或导入同一把公钥时,指纹一致就说明是同一条。
Preguntas frecuentes
Sí. Se genera con la Web Crypto integrada del navegador (RSASSA-PKCS1-v1_5 + SHA-256): la clave pública es SPKI y la privada PKCS#8, texto PEM estándar las dos, listo para Nginx, firma JWT, OpenSSL y compañía; puedes revisarlas con openssl pkey.
No. Generar, exportar y mostrar ocurre todo dentro de tu navegador; la clave privada sólo existe en la memoria de esta página, no se escribe en localStorage ni aparece en petición de red alguna, y recargar la hace desaparecer - esta página no tiene ningún endpoint de subida.
2048 bits cumple los requisitos de seguridad actuales y tiene la mejor compatibilidad; 3072 (unos 128 bits de fuerza) va bien para uso prolongado; 4096 da más margen pero firmar y verificar se notan más lentos. Para web y firma de interfaces normal, con 2048 o 3072 basta.
SPKI lleva la clave pública, PKCS#8 la privada (la versión sin cifrar). Esta página no saca la clave privada PKCS#1 antigua; si quien te recibe pide PKCS#1, un solo comando openssl pkey convierte entre los dos formatos.
Los navegadores sólo exponen la API de generación crypto.subtle en contexto seguro (https o localhost); si abres esta página por http, muestra un aviso y desactiva el botón de generar.