Generador de claves RSA
Genera pares de claves pública y privada RSA íntegramente en tu navegador, sin subidas ni idas y vueltas al servidor. Elige el tamaño de clave (2048, 3072 o 4096 bits), el hash y el uso previsto —RSA-OAEP para cifrado, RSA-PSS o PKCS#1 v1.5 para firmas— y luego exporta a PEM (PKCS#8 / PKCS#1 / SPKI), JWK o una clave pública OpenSSH. Consulta el tamaño del módulo, el exponente público y las huellas SHA-256 / OpenSSH, y prueba el cifrado/descifrado y la firma/verificación en el momento antes de conectar la clave a TLS, SSH, JWT, OAuth o tu propia aplicación.
- Genera pares de claves RSA de 2048, 3072 y 4096 bits con SHA-256, SHA-384 o SHA-512
- Cambia el uso entre cifrado RSA-OAEP, firma RSA-PSS y firma PKCS#1 v1.5
- Exporta las claves privadas como PKCS#8, PKCS#1 o JWK y las públicas como SPKI, PKCS#1, OpenSSH o JWK
- Inspecciona la fuerza de la clave, el exponente público y las huellas SHA-256 / OpenSSH, y descarga el par como un .zip
Las claves se generan en local con la Web Crypto API y nunca salen de tu navegador ni llegan a ningún servidor.
Resumen
Un flujo RSA completo en una sola pantalla: elige los parámetros a la izquierda, lee la clave pública y privada a la derecha y verifícalo todo antes de publicarlo.
- 01
Generación local del par de claves
Genera pares RSA de 2048, 3072 o 4096 bits en el navegador con la Web Crypto API. La clave privada se crea en tu dispositivo y nunca se transmite, registra ni sube, ideal tanto para secretos de producción como para depuración interna.
- 02
Uso y hash a elegir
Vincula cada clave a un único propósito: RSA-OAEP para cifrado, RSA-PSS o RSASSA-PKCS1-v1_5 para firmas, junto con SHA-256, SHA-384 o SHA-512. Cambiar cualquier parámetro regenera un par de claves nuevo y correctamente delimitado.
- 03
Exportación en varios formatos
Exporta las claves privadas como PKCS#8 (BEGIN PRIVATE KEY), PKCS#1 (BEGIN RSA PRIVATE KEY) o JWK, y las públicas como SPKI, PKCS#1, una línea ssh-rsa de OpenSSH o JWK, justo la forma que esperan OpenSSL, nginx, Java, Node.js o una biblioteca de JWT.
- 04
Fuerza de la clave y huellas
Consulta la longitud del módulo, el exponente público fijo de 65537, la huella SHA-256 de la clave pública SPKI y la huella SHA256 de OpenSSH, para que dos partes puedan confirmar que tienen la misma clave.
- 05
Zona de pruebas de cifrado y firma
Una zona de pruebas plegable te permite cifrar y luego descifrar, o firmar y luego verificar, con el par generado. Confirma los viajes de ida y vuelta y la validez de la firma antes de integrar la clave en cualquier sitio.
- 06
Copiar, descargar y empaquetar
Copia cualquier clave al portapapeles, descárgala por separado como .pem, .json o .pub, o consigue el par completo como un único rsa-keypair.zip desde la barra de herramientas.
Cómo usarla
Decide primero el uso y los parámetros, genera en local y luego exporta en el formato exacto que importa tu sistema de destino.
- 01
Elige el uso que se ajuste a la tarea: RSA-OAEP para cifrar datos, RSA-PSS o PKCS#1 v1.5 para producir firmas digitales.
- 02
Selecciona el tamaño de clave (2048 para uso general, 3072 o 4096 para claves de larga duración o alto valor) y el hash (SHA-256, SHA-384 o SHA-512).
- 03
Haz clic en Generar para crear el par en tu navegador y luego revisa la fuerza de la clave, el exponente público y las huellas SHA-256 / OpenSSH.
- 04
Establece los formatos de salida privado y público (PKCS#8, PKCS#1, SPKI, JWK u OpenSSH) para que coincidan con OpenSSL, nginx, SSH o tu biblioteca de JWT/OAuth.
- 05
Copia o descarga cada clave, o usa Descargar .zip para guardar ambas a la vez; si quieres, renombra el archivo privado a .key para las convenciones de nginx.
- 06
Abre la Zona de pruebas para cifrar/descifrar o firmar/verificar un mensaje de ejemplo y confirmar que el par de claves se comporta bien antes de desplegarlo.
Detalles
Pensado para el aprovisionamiento y la depuración de claves reales, no solo para un volcado de una clave aleatoria de una sola vez.
- Generación de pares de claves RSA-OAEP, RSA-PSS y RSASSA-PKCS1-v1_5 en el navegador
- Módulo de 2048 / 3072 / 4096 bits con selección de hash SHA-256 / SHA-384 / SHA-512
- Exportación de la clave privada como PEM PKCS#8, PEM PKCS#1 o JWK
- Exportación de la clave pública como PEM SPKI, PEM PKCS#1, OpenSSH (ssh-rsa) o JWK
- Huella SHA-256 SPKI y huella SHA256 de OpenSSH para verificación fuera de banda
- Zona de pruebas integrada de cifrado/descifrado y firma/verificación con entrada y salida en Base64
- Exponente público fijo de 65537 para la máxima interoperabilidad entre bibliotecas
- Copia con un clic, descarga por clave (.pem / .json / .pub) y descarga combinada en .zip
- Espacio de trabajo a pantalla completa para leer bloques PEM largos y comparar claves en paralelo
- Cálculo totalmente local con Web Crypto, de modo que las claves privadas se quedan en tu dispositivo sin subirse
Casos de uso
Útil para el aprovisionamiento de servidores, la integración de aplicaciones, la identidad y la depuración de protocolos.
-
SSH y acceso a servidores
Genera una clave pública OpenSSH para añadirla a authorized_keys y acceder al servidor sin contraseña, mientras la clave privada correspondiente (PEM PKCS#8 o PKCS#1) se queda en tu máquina.
-
Firma de JWT, OAuth y OIDC
Crea claves RSA-PSS (PS256) o PKCS#1 v1.5 (RS256) y exporta JWK para emisores de tokens, proveedores de identidad y verificadores que consumen un endpoint JWKS.
-
Material de claves TLS / HTTPS
Produce una clave privada PKCS#8 para combinarla con un CSR y un certificado en nginx, Apache o un balanceador de carga (renómbrala a .key como esperan los servidores por convención).
-
Cifrado de payloads y secretos
Usa RSA-OAEP para cifrar un secreto corto o una clave AES aleatoria que dos servicios intercambian, y luego mueve los datos en volumen con cifrado simétrico.
-
Integración de bibliotecas y SDK
Importa un JWK o PEM en Node.js (crypto / jose), Python (cryptography), Java (KeyFactory) o Go para probar rápidamente los flujos de importación y firma.
-
Fixtures de prueba y demos
Crea pares de claves y firmas desechables para pruebas unitarias, fixtures de CI, ejemplos de documentación y formación en seguridad sin tocar las claves de producción.
Ver también
Para calcular la huella de un archivo de clave o verificar un artefacto sin un par de claves, usa Generador de hash . Cuando firmes o verifiques tokens con estas claves RSA, continúa con Inspector de JWT . Para inspeccionar o transportar bytes DER y bloques PEM de forma segura, combínalo con Codificador y decodificador Base64 . Una vez emitido un certificado a partir de estas claves, lee su sujeto, sus SAN y su validez con Decodificador de certificados antes de desplegarlo.
Buenas prácticas
Las claves RSA son secretos de larga duración: la seguridad de todo lo que confía en ellas depende de cómo gestiones la mitad privada.
- Usa claves de al menos 2048 bits; elige 3072 o 4096 para claves que deban seguir siendo válidas durante muchos años
- Ajusta el uso al propósito: OAEP para cifrado, PSS o PKCS#1 para firmas, y nunca reutilices una clave para ambos roles
- Mantén la clave privada sin conexión y fuera de registros, capturas, chats, tickets y control de versiones
- Confirma el formato exacto que espera el destino (PKCS#8 o PKCS#1, SPKI u OpenSSH, PEM o DER) antes de importar
- Verifica la huella SHA-256 o OpenSSH por un canal aparte después de transferir una clave pública
- Cifra las claves privadas en reposo con una frase de contraseña (por ejemplo, con OpenSSL) antes de guardarlas o compartirlas
- Rota las claves según un calendario definido y revoca de inmediato cualquier clave que pueda haberse expuesto
- Prefiere claves respaldadas por hardware o gestionadas por un KMS para sistemas de producción de alto valor donde las claves exportables son un riesgo
Limitaciones
Entiende estos límites para no construir sobre una suposición de seguridad incorrecta.
- RSA-OAEP solo cifra payloads pequeños (unos cientos de bytes); cifra una clave simétrica y usa AES para los datos en volumen
- Esta herramienta genera un par de claves en bruto: no emite certificados X.509 ni CSR, ni gestiona el almacenamiento y la rotación de claves
- En nginx/TLS puedes usar la clave privada como ssl_certificate_key, pero ssl_certificate sigue requiriendo un certificado firmado por una CA
- Las claves privadas generadas no están cifradas; añade protección con frase de contraseña mediante herramientas externas como OpenSSL si lo necesitas
- El exponente público está fijado en 65537 (0x010001), el valor interoperable estándar, y no es configurable
- Generar claves de 4096 bits puede tardar bastante más y depende del rendimiento de tu dispositivo y navegador
Preguntas frecuentes
Respuestas a preguntas comunes sobre formatos, uso, seguridad, interoperabilidad y límites prácticos.
¿Las claves se generan en un servidor?
No. Cada par de claves se genera en local en tu navegador con la Web Crypto API. La clave privada se crea en tu dispositivo y nunca se sube, registra ni transmite, por lo que la herramienta es segura para secretos reales.
¿Qué diferencia hay entre PKCS#8 y PKCS#1?
Son dos codificaciones de la misma clave privada RSA. PKCS#8 (BEGIN PRIVATE KEY) es el envoltorio moderno e independiente del algoritmo que usan la mayoría de las bibliotecas actuales; PKCS#1 (BEGIN RSA PRIVATE KEY) es el formato específico de RSA más antiguo que algunas herramientas heredadas y flujos de OpenSSL aún esperan. Ambos son texto PEM: cambia de formato aquí sin regenerar la clave.
¿Qué significan .key, .pem y .crt en nginx u OpenSSL?
Son convenciones de nombres, no formatos distintos: el contenido suele ser PEM en cualquier caso. .key contiene por convención la clave privada (ssl_certificate_key de nginx), mientras que .crt / .cer / .pem contienen un certificado (ssl_certificate). Esta herramienta produce una clave pública en bruto, no un certificado, así que para TLS todavía necesitas un CSR y un certificado firmado por una CA.
¿Qué uso debería elegir: OAEP, PSS o PKCS#1?
Usa RSA-OAEP para cifrar datos, RSA-PSS para firmas modernas (PS256 de JWT) y RSASSA-PKCS1-v1_5 para firmas de compatibilidad (RS256 de JWT y muchos sistemas heredados). Una clave generada para cifrado no debería reutilizarse para firmar, ni al revés.
¿RSA de 2048 bits sigue siendo seguro o debería usar 4096?
RSA de 2048 bits todavía se considera seguro para la mayoría de los usos actuales, y 3072 bits ofrece un margen a largo plazo más fuerte. 4096 bits añade holgura para claves de muy larga duración o alto valor a costa de operaciones más lentas y claves más grandes. Elige según cuántos años deba seguir siendo fiable la clave.
¿Cómo obtengo una clave SSH con esta herramienta?
Pon el formato público en OpenSSH para producir una línea ssh-rsa para authorized_keys y exporta la clave privada como PEM PKCS#8 o PKCS#1. Guarda la clave privada con permisos de archivo estrictos (chmod 600) en el cliente.
¿Puedo importar estas claves en Node.js, Python o Java?
Sí. Exporta JWK para Web Crypto y la biblioteca jose, PEM PKCS#8 para el crypto de Node.js y cryptography de Python, y PEM PKCS#8 o PKCS#1 para KeyFactory de Java. Elige el formato que documente tu biblioteca e impórtalo directamente.
¿Por qué solo puedo cifrar mensajes cortos con RSA-OAEP?
RSA cifra como mucho unos cientos de bytes por operación, limitado por el tamaño de clave menos el relleno. En los sistemas reales cifras una clave simétrica (AES) aleatoria con RSA-OAEP y cifras los datos reales con esa clave AES, un patrón llamado cifrado híbrido.
¿Qué es el exponente público 65537?
Es el valor e de la clave pública RSA (n, e), usado durante el cifrado y la verificación de firmas. 65537 (0x010001) es el valor por defecto casi universal porque es lo bastante grande para ser seguro y lo bastante pequeño para ser rápido, lo que maximiza la interoperabilidad. Esta herramienta fija e en 65537.
Herramientas relacionadas
Combina las claves RSA con el Generador de hash para huellas, el Inspector de JWT para decodificar y verificar tokens, y el Generador de HMAC para firmas con secreto compartido.