Desde Let's Encrypt , los sitios web cifrados se han convertido en práctica habitual. Los certificados SSL también son prácticamente indispensables en el desarrollo local (por ejemplo, navigator.geolocation requiere cifrado SSL localmente). Desde la versión 58 de Chrome, se ha eliminado la compatibilidad con CN (Nombre Común) y ahora es obligatorio SAN (Nombre Alternativo del Sujeto). Como resultado, Chrome ya no acepta ningún certificado SSL creado mediante métodos tradicionales .

Si bien puedes usar herramientas en línea como ZeroSSL para crear certificados, o configurar Chrome para que funcione sin certificados válidos mediante parámetros de inicio como `--ignore-certificate-errors` o la opción `chrome://flags/#allow-insecure-localhost`, queremos crear certificados autofirmados localmente usando OpenSSL que incluyan SAN y sean totalmente compatibles con Chrome. Esta línea de código hace todo lo necesario (solo hay que reemplazar `www.tld.local` por el dominio deseado).:
61b7be9883ad31712c52a59252a4c9c4
Dado que OpenSSL desafortunadamente no tiene argumentos directos para especificar SAN, primero se crea un archivo de configuración, se llama a OpenSSL con él y luego se elimina el archivo. Los usuarios de Windows pueden ejecutar fácilmente este comando con la ayuda de Cygwin (y bash -c "...") o con el nuevo WSL . Los dos archivos resultantes www.tld.local.key y www.tld.local.cert se pueden seleccionar en MAMP, por ejemplo:

Los usuarios de Windows cargan en "Administrar certificados de usuario" (certmgr) en "Entidades de certificación raíz de confianza".:

Finalmente, reinicie Chrome (chrome: // reiniciar) y disfrute del candado verde:
