Generador de certificados SSL

Identidad

Los certificados autofirmados no son de confianza para los navegadores por defecto: úsalos solo para desarrollo local, pruebas o redes privadas.

Genera un certificado autofirmado para desarrollo local o pruebas internas, directamente en tu navegador. Eliges el tamaño de clave RSA (2048, 3072 o 4096 bits), el Common Name, los Subject Alternative Names, la ventana de validez y los datos básicos de la organización. El certificado y su clave privada se crean en tu navegador y nunca se envían a nuestro servidor, y descargas ambos como archivos PEM listos para Nginx o Apache.

Cómo funciona la generación del certificado

  1. 1

    Elige el tamaño de clave RSA

    2048 bits basta para la mayoría de las pruebas; 3072 o 4096 dan una clave mayor a costa de la velocidad.

  2. 2

    Introduce el sujeto y los SAN

    Common Name más todos los nombres de host o IP que debe cubrir el certificado (los navegadores modernos ignoran el CN y usan los SAN).

  3. 3

    Genera en el navegador

    Se crea un certificado autofirmado y se firma con la clave privada correspondiente, todo localmente en tu navegador.

  4. 4

    Descarga el resultado

    Un certificado codificado en PEM (`cert.pem`) y la clave privada en PEM (`key.pem`), listos para instalar.

Todo ocurre en tu navegador

Este generador funciona íntegramente en tu navegador. El par de claves RSA se crea de forma local con una biblioteca de criptografía en JavaScript, el certificado se firma en tu dispositivo y ni la clave privada ni el certificado se suben nunca a nuestro servidor. Aun así, trata la clave privada como un secreto: quien la tenga puede suplantar el certificado.

Qué significa autofirmado

Eres a la vez el emisor y el sujeto: el certificado se firma con su propia clave privada, así que ninguna autoridad de certificación (CA) pública responde por él. Por eso los navegadores muestran una advertencia. Es válido para pruebas, desarrollo local (localhost, dev.local) y servidores internos donde puedas distribuir el certificado a los clientes que deban confiar en él.

Si necesitas un certificado en el que confíe la internet pública, esta herramienta no es el paso adecuado: necesitas un certificado firmado por una CA (por ejemplo de Let’s Encrypt o una CA de pago), lo que requiere una solicitud de firma de certificado (CSR) y una validación de dominio que esta herramienta de navegador no realiza.

Qué contiene el certificado

Campo Notas
Sujeto (CN, O, C) Common Name, Organización, País
Subject Alternative Names Todos los dominios o IP cubiertos (¡crucial!)
Clave pública RSA, derivada de la clave privada generada
Emisor Igual que el sujeto, por ser autofirmado
Validez Not Before / Not After (tus días de validez)
Key Usage digitalSignature, keyEncipherment
Extended Key Usage serverAuth, clientAuth
Basic Constraints CA:FALSE (un certificado de hoja, no una CA)

Archivos de salida

  • key.pem, la clave privada (protégela, modo 0600)
  • cert.pem, el certificado autofirmado (público, distribuible)

Para Nginx

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate     /etc/ssl/certs/cert.pem;
    ssl_certificate_key /etc/ssl/private/key.pem;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
}

Para Apache 2.4+

<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/cert.pem
    SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>

Confiar en el certificado en tus propias máquinas

Para silenciar la advertencia del navegador en una máquina que controlas, importa cert.pem en el almacén de confianza de ese sistema o navegador. Hazlo solo con certificados que hayas generado tú, en dispositivos que sean tuyos. Herramientas como mkcert automatizan una CA local para varios servicios; este generador produce un único certificado autofirmado cada vez.

Para qué no sirve un certificado autofirmado

  • Sitios web públicos. Los usuarios ven una advertencia y muchos se marchan.
  • Integraciones con API de terceros. La mayoría de los clientes rechazan emisores desconocidos.
  • Producción. Rotundamente no. Usa Let’s Encrypt (gratis) o una CA de pago para cualquier cosa en la internet abierta.

Preguntas frecuentes

No. El par de claves y el certificado se generan en tu navegador y permanecen en tu dispositivo; no se sube nada. Aun así, mantén en privado el archivo key.pem descargado, porque quien lo tenga puede suplantar el certificado.

No, si van a conectarse terceros. Los navegadores muestran una advertencia llamativa. Usa un certificado firmado por una CA gratuita (Let’s Encrypt, ZeroSSL) o de pago. El autofirmado sirve para comunicación máquina a máquina dentro de una red interna donde controlas ambos extremos.

Históricamente el CN contenía el dominio principal. Los navegadores modernos ignoran el CN para validar el host y usan solo los SAN. Pon siempre todos los nombres de host en los SAN; deja el CN con el principal solo como identificación legible.

Sí, pon *.example.com en los SAN. Cubre un nivel de subdominios. Para varios niveles, añade varios comodines (*.example.com y *.dev.example.com).

Herramientas relacionadas