Generación de un certificado autofirmado con openssl que funciona en Chrome 58

Pregunta:

A partir de Chrome 58, ya no acepta certificados autofirmados que se basan en Common Name : https://productforums.google.com/forum/#!topic/chrome/zVo3M8CgKzQ;context-place=topicsearchin/chrome/category $ 3ACanary% 7Csort: relevancia% 7Cs deletreo: falso

En su lugar, requiere el uso del Subject Alt Name . Anteriormente he estado siguiendo esta guía sobre cómo generar un server.key : https://devcenter.heroku.com/articles/ssl-certificate-self que funcionó muy bien porque necesitaba los archivos server.crt y server.key para Que estoy haciendo. Ahora necesito generar nuevos certificados que incluyan la SAN sin embargo, todos mis intentos para hacerlo no han funcionado con Chrome 58.

Esto es lo que hice:

Seguí los pasos del artículo de Heroku mencionado anteriormente para generar la clave. Luego escribí un nuevo archivo de configuración de OpenSSL:

[ req ]
default_bits        = 2048
distinguished_name  = req_distinguished_name
req_extensions      = san
extensions          = san
[ req_distinguished_name ]
countryName         = US
stateOrProvinceName = Massachusetts
localityName        = Boston
organizationName    = MyCompany
[ san ]
subjectAltName      = DNS:dev.mycompany.com

Luego generó el server.crt con el siguiente comando:

openssl req \
-new \
-key server.key \
-out server.csr \
-config config.cnf \
-sha256 \
-days 3650

Estoy en una Mac, así que abrí el archivo server.crt con Keychain y lo agregué a mis Certificados del sistema. Luego lo configuro en Always Trust .

Con la excepción del archivo de configuración para establecer el valor de SAN, estos fueron pasos similares que usé en versiones anteriores de Chrome para generar y confiar en el certificado autofirmado.

Sin embargo, después de esto, todavía obtengo ERR_CERT_COMMON_NAME_INVALID en Chrome 58.

Respuesta:

Mi solución:

openssl req \
    -newkey rsa:2048 \
    -x509 \
    -nodes \
    -keyout server.key \
    -new \
    -out server.crt \
    -subj /CN=dev.mycompany.com \
    -reqexts SAN \
    -extensions SAN \
    -config <(cat /System/Library/OpenSSL/openssl.cnf \
        <(printf '[SAN]\nsubjectAltName=DNS:dev.mycompany.com')) \
    -sha256 \
    -days 3650

Estado: funciona para mí

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım