Generador de certificados autofirmados
Crea un certificado X.509 autofirmado y una clave privada para localhost, servidores de prueba y herramientas internas. Añade cada nombre de host e IP como SAN, elige la validez y descarga archivos PEM o un PFX protegido con contraseña. Todo se genera en tu dispositivo.
Última actualización:
Nombres
Más campos del sujeto (opcional)
Certificado
Equivalente en OpenSSL y configuración del servidor
Cómo usar Generador de certificados autofirmados
- Escribe los nombres de host que debe cubrir el certificado. Los valores predeterminados localhost, 127.0.0.1 y ::1 sirven para el desarrollo local.
- Elige la validez en días y el tipo de clave. RSA 2048 funciona en todas partes; ECDSA P-256 es más pequeña y rápida.
- Pulsa Generar certificado. El certificado y la clave privada aparecen como texto PEM.
- Descarga los archivos .crt y .key para nginx, Apache o Node.js, o define una contraseña y descarga el .pfx para Windows, IIS o .NET.
- Confía en el certificado en tu computadora (consulta las instrucciones más abajo) para que los navegadores dejen de mostrar una advertencia.
Confía en el certificado en tu computadora
Un certificado autofirmado solo se acepta después de añadirlo a un almacén de confianza. Usa el archivo .crt (nunca compartas la clave):
| Sistema | Cómo confiar en el certificado |
|---|---|
| macOS | Haz doble clic en el .crt para añadirlo a Acceso a Llaveros (llavero Sistema), ábrelo, despliega Confiar y en Al utilizar este certificado elige Confiar siempre. O ejecuta sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain localhost.crt |
| Windows | Haz doble clic en el .crt, elige Instalar certificado, Equipo local, luego Colocar todos los certificados en el siguiente almacén y selecciona Entidades de certificación raíz de confianza. PowerShell: Import-Certificate -FilePath localhost.crt -CertStoreLocation Cert:\LocalMachine\Root |
| Ubuntu / Debian | sudo cp localhost.crt /usr/local/share/ca-certificates/ && sudo update-ca-certificates |
| Fedora / RHEL | sudo cp localhost.crt /etc/pki/ca-trust/source/anchors/ && sudo update-ca-trust |
| Firefox | Ajustes, Privacidad y seguridad, Ver certificados, Autoridades, Importar y marca Confiar en esta CA para identificar sitios web. (O activa security.enterprise_roots.enabled para usar el almacén del sistema). |
| Clientes de Node.js | NODE_EXTRA_CA_CERTS=./localhost.crt node app.js |
Reinicia el navegador después de importarlo. Si Chrome sigue mostrando NET::ERR_CERT_COMMON_NAME_INVALID, el nombre de host de la barra de direcciones no está en los nombres alternativos del sujeto.
¿Qué formato de archivo necesito?
| Archivo | Contiene | Lo usa |
|---|---|---|
.crt | Solo el certificado (texto PEM) | nginx ssl_certificate, Apache SSLCertificateFile, almacenes de confianza |
.key | Clave privada PKCS#8 sin cifrar (PEM) | nginx ssl_certificate_key, Apache SSLCertificateKeyFile, Node.js |
Paquete .pem | Certificado seguido de la clave en un solo archivo | HAProxy, algunos servidores de Python y Go, webpack-dev-server |
.pfx / .p12 | Certificado y clave cifrada, protegidos con contraseña (PKCS#12) | Windows, IIS, Kestrel / ASP.NET, almacenes de claves de Java, Azure |
Qué incluye esta herramienta en el certificado
- X.509 versión 3 con un número de serie aleatorio de 128 bits y una hora de inicio 5 minutos en el pasado para tolerar pequeñas diferencias de reloj.
- Nombres alternativos del sujeto para cada nombre DNS y dirección IP que indiques (los navegadores los exigen).
- Servidor / TLS: Basic Constraints CA:FALSE, Key Usage digitalSignature (más keyEncipherment para RSA) y Extended Key Usage serverAuth y clientAuth.
- CA raíz: Basic Constraints CA:TRUE y Key Usage keyCertSign, cRLSign, para que puedas firmar otros certificados con
openssl x509 -req -CA ca.crt -CAkey ca.key …. - Identificadores de clave del sujeto y de la autoridad (SHA-1 de la clave pública), como los añade OpenSSL por defecto.
Preguntas frecuentes
¿Qué es un certificado autofirmado?
Es un certificado X.509 firmado con su propia clave privada en lugar de por una autoridad de certificación. Cifra el tráfico igual que un certificado emitido por una CA, pero los navegadores muestran una advertencia hasta que confías en él explícitamente, porque ningún tercero lo ha avalado. Eso lo hace ideal para localhost, entornos de prueba y servicios internos, pero no para sitios web públicos.
¿Por qué el navegador sigue mostrando una advertencia?
Los navegadores solo confían en certificados que se encadenan a una raíz de su almacén de confianza. Importa el archivo .crt en el almacén de confianza de tu sistema operativo o navegador (instrucciones más abajo) y reinicia el navegador. Asegúrate también de que el nombre de host que visitas figure en los nombres alternativos del sujeto: Chrome ignora el nombre común (Common Name).
¿Debo crear un certificado de servidor o una CA raíz?
Para un único servidor de desarrollo, un certificado de servidor es lo más sencillo: confía directamente en él. Si tienes varios sitios locales, crea aquí una CA raíz, confía en ella una vez y luego firma certificados para cada sitio con OpenSSL. Nunca compartas la clave de una CA raíz de confianza: quien la tenga podría suplantar cualquier sitio web en tu equipo.
¿Cuánto tiempo debe ser válido un certificado autofirmado?
Para el desarrollo local, uno o dos años es práctico. Las plataformas de Apple rechazan certificados de servidor TLS válidos por más de 825 días, así que quédate por debajo si haces pruebas en macOS o iOS. Las autoridades de certificación públicas están limitadas a 398 días, pero esa regla no se aplica a los certificados en los que confías manualmente.
¿Qué contraseña usa el archivo PFX?
La que escribas en el campo de contraseña PFX. La clave privada dentro del PFX se cifra con AES-256 (PBES2, PBKDF2-SHA256) y el archivo se protege con un MAC SHA-256, los mismos valores predeterminados que usa OpenSSL 3. Windows 10 1709 y posteriores, .NET y Java pueden leerlo. Los sistemas muy antiguos pueden necesitar: openssl pkcs12 -in cert.pfx -nodes | openssl pkcs12 -export -legacy -out legacy.pfx.
¿Es seguro generar una clave privada en el navegador?
El par de claves lo crea la Web Crypto API del navegador con un generador de números aleatorios criptográficamente seguro, y no se sube ni se guarda nada. Para claves de producción, sigue la política de tu organización, que puede exigir generar las claves en el servidor o en un módulo de hardware.
¿Puedo usar este certificado en un sitio web público?
Puedes, pero todos los visitantes verían una advertencia de seguridad. Para sitios públicos usa una autoridad de certificación gratuita como Let's Encrypt, que emite automáticamente certificados en los que confían los navegadores.
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.