Chrome en macOS de repente rechaza certificados autofirmados

0

He estado felizmente utilizando certificados autofirmados para sitios alojados localmente que se ejecutan en apache2 durante un par de años. Hoy uno de esos certificados expiró. No es un problema, lo recreé y reemplacé el certificado en mi llavero. Sin embargo, Chrome ahora me está dando un error cuando intento visitar el sitio:

  

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

Así que pensé que tal vez el certificado que había generado era dudoso. Pero no, ¡todos mis otros certificados autofirmados también han dejado de funcionar! ¿Es una coincidencia? No lo sé.

Pensé que tal vez no le gustaba mi 'nombre común' (que era com06 , por ejemplo, https://com06/ ), así que lo intenté con com06.dev . ¡Sin suerte!

¿Qué está pasando?

Certificados generados con

openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -keyout server.key -out server.crt

Añadido a llavero con

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt
  • macOS 10.11.6
  • Chrome v58.0.3029.33 beta (64 bits)

Los certificados autofirmados son aceptados por Safari, esto es solo un problema con Chrome

Actualizar

A partir de Chrome v58.0.3029.41 beta, recibo este mensaje de error útil en las herramientas para desarrolladores:

Subject Alternative Name Missing
The certificate for this site does not contain a Subject Alternative 
Name extension containing a domain name or IP address.
    
pregunta diachedelic 25.03.2017 - 18:30

2 respuestas

1

Puede deshabilitar temporalmente la aplicación de SAN usando la política EnableCommonNameFallbackForLocalAnchors, consulte esta página para obtener más información . Esto le permitirá volver a emitir sus certificados cuando el tiempo lo permita.

En OSX, esto se puede lograr con el siguiente comando:

defaults write com.google.Chrome EnableCommonNameFallbackForLocalAnchors -bool true
    
respondido por el f0xik 17.05.2017 - 08:29
0

El problema era el nombre alternativo del sujeto (SAN) que faltaba, que no se estaba completando cuando generé mis certificados autofirmados utilizando openssl. Sin embargo, esta excelente respuesta explica cómo generar certificados compatibles usando ssl abierto.

Para verificar si su certificado contiene una SAN, use openssl x509 -in my.crt -text

    
respondido por el diachedelic 04.04.2017 - 00:55

Lea otras preguntas en las etiquetas