valido validar instalar importar google error descargar configurar con como chrome certificados certificado autoridad google-chrome ssl https pkix

google chrome - validar - Certificado SSL autofirmado no válido: "Falta el nombre alternativo del sujeto"



validar certificado google chrome (7)

La siguiente solución funcionó para mí en Chrome 65 ( ref ) -

Cree un archivo de configuración de OpenSSL (ejemplo: req.cnf)

[req] distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [req_distinguished_name] C = US ST = VA L = SomeCity O = MyCompany OU = MyDivision CN = www.company.com [v3_req] keyUsage = critical, digitalSignature, keyAgreement extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = www.company.com DNS.2 = company.com DNS.3 = company.net

Cree el certificado haciendo referencia a este archivo de configuración

openssl req -x509 -nodes -days 730 -newkey rsa:2048 / -keyout cert.key -out cert.pem -config req.cnf -sha256

Recientemente, Chrome dejó de funcionar con mis certificados SSL autofirmados y cree que son inseguros. Cuando miro el DevTools | Security en DevTools | Security Pestaña de DevTools | Security , puedo ver que dice

Falta el nombre alternativo del sujeto El certificado de este sitio no contiene una extensión de nombre alternativo del sujeto que contenga un nombre de dominio o una dirección IP.

Error de certificado Hay problemas con la cadena de certificados del sitio (net :: ERR_CERT_COMMON_NAME_INVALID).

¿Cómo puedo arreglar esto?


Para solucionar esto, debe proporcionar un parámetro adicional a openssl cuando cree el certificado, básicamente

-sha256 -extfile v3.ext

donde v3.ext es un archivo así, con %%DOMAIN%% reemplazado con el mismo nombre que usa como su Common Name . Más información here y por aquí . Tenga en cuenta que normalmente establecería el Common Name y %%DOMAIN%% en el dominio para el que intenta generar un certificado. Entonces, si fuera www.mysupersite.com , lo www.mysupersite.com para ambos.

v3.ext

authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = %%DOMAIN%%

Nota: las secuencias de comandos que abordan este problema y crean certificados SSL totalmente confiables para su uso en Chrome, Safari y desde clientes Java se pueden encontrar aquí

Otra nota : si todo lo que intenta hacer es evitar que Chrome arroje errores al ver un certificado autofirmado, puede decirle a Chrome que ignore todos los errores SSL para TODOS los sitios al iniciarlo con una opción especial de línea de comandos, como se detalla aquí en SuperUser


Pude deshacerme de (net :: ERR_CERT_AUTHORITY_INVALID) cambiando el valor DNS.1 del archivo v3.ext

[alt_names] DNS.1 = domainname.com

Cambie domainname.com con su propio dominio.


Simplemente uso el parámetro -subj agregando la dirección IP de la máquina. Así resuelto con un solo comando.

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -sha256 -subj ''/CN=my-domain.com/subjectAltName=DNS.1=192.168.0.222/'' -keyout my-domain.key -out my-domain.crt

Puede agregar otros atributos como C, ST, L, O, OU, emailAddress para generar certificados sin que se le solicite.


en MAC a partir de la versión 67.0.3396.99 de Chrome, mi certificado autofirmado dejó de funcionar.

La regeneración con todo lo escrito aquí no funcionó.

ACTUALIZAR

Tuve la oportunidad de confirmar que mi enfoque funciona hoy :). Si no funciona para usted, asegúrese de estar utilizando este enfoque

v3.ext authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = <specify-the-same-common-name-that-you-used-while-generating-csr-in-the-last-step> $

copiado desde aquí https://ksearch.wordpress.com/2017/08/22/generate-and-import-a-self-signed-ssl-certificate-on-mac-osx-sierra/

ACTUALIZACIÓN FINAL

finalmente pude ver la seguridad verde solo cuando eliminé mi certificado del sistema y lo agregué al llavero local . (si hay uno, déjelo primero). No estoy seguro de si es importante, pero en mi caso descargué el certificado a través de Chrome y verifiqué que la fecha de creación es hoy, por lo que es la que acabo de crear.

Espero que sea útil para que alguien pase como un día en él.

¡Nunca actualices Chrome!


Creé un script bash para que sea más fácil generar certificados TLS autofirmados que sean válidos en Chrome.

script bash autofirmado

Después de instalar los certificados, asegúrese de reiniciar Chrome ( chrome://restart ). Probado en Chrome 65.x todavía funciona.

Otra herramienta (mucho más robusta) que vale la pena consultar es el cfssl herramientas cfssl de CloudFlare:

cfssl


  • Haga una copia de su configuración de OpenSSL en su directorio de inicio:

    cp /System/Library/OpenSSL/openssl.cnf ~/openssl-temp.cnf

    o en Linux:

    cp /etc/ssl/openssl.cnf ~/openssl-temp.cnf

  • Agregue el nombre alternativo del sujeto a openssl-temp.cnf , en [v3_ca] :

    [ v3_ca ] subjectAltName = DNS:localhost

    Reemplace localhost por el dominio para el que desea generar ese certificado.

  • Generar certificado:

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 / -config ~/openssl-temp.cnf -keyout /path/to/your.key -out /path/to/your.crt

Luego puede eliminar openssl-temp.cnf