Genera un certificado X.509 autofirmado junto con las claves pública y privada correspondientes en el navegador con Web Crypto. El certificado está firmado con su propia clave privada en lugar de por una autoridad de certificación (CA) pública, por lo que es ideal para TLS local, entornos de laboratorio y desarrollo, no para confianza pública en la web abierta.
Cómo funciona
Eliges el tamaño de clave, la validez en días, el algoritmo de firma y atributos opcionales del sujeto (nombre común, organización y campos similares del Distinguished Name). La herramienta crea un par de claves asimétricas, construye un certificado con esos atributos y una ventana de validez, y luego lo firma con la clave privada. La salida es normalmente el certificado, la clave pública y el material de clave privada en formato PEM, que puedes instalar en un servidor local, un proxy inverso o un almacén de confianza para pruebas.
Cuándo usarlo
- HTTPS en
localhosto hosts internos de staging sin comprar un certificado de una CA - Pruebas rápidas de clientes TLS, configuraciones de TLS mutuo o código de análisis de certificados
- Enseñar cómo se relacionan certificados, claves y periodos de validez sin esperar una emisión ACME
Limitaciones
Los navegadores y sistemas operativos no confían en los certificados autofirmados por defecto; los usuarios verán advertencias a menos que el certificado se marque explícitamente como de confianza. No sustituyen a los certificados de Let's Encrypt ni de una CA comercial para sitios públicos en producción. El material de clave nunca sale de tu sesión de navegador, pero cualquiera con la clave privada puede suplantar al sujeto: guarda y elimina las claves con cuidado. La elección de algoritmo y tamaño de clave debe coincidir con lo que acepte tu pila de servidor.
Ejemplo
Una clave RSA de 2048 bits válida durante 365 días con nombre común dev.local produce un certificado PEM que comienza con -----BEGIN CERTIFICATE-----, una clave privada PEM y una clave pública. Importar esa clave privada y ese certificado en un servidor nginx local o Node HTTPS habilita conexiones cifradas que aún mostrarán una advertencia de emisor no confiable hasta que el certificado se añada al almacén de confianza de la máquina.