ssl - válido - Crear certificado autofirmado para dominio y subdominios-NET:: ERR_CERT_COMMON_NAME_INVALID
google no acepto tu certificado de acceso (8)
Seguí
this
tutorial para crear certificados SSL firmados en Windows con fines de desarrollo, y funcionó muy bien para uno de mis dominios (estoy usando el archivo hosts para simular dns).
Luego pensé que tenía muchos subdominios, y sería un fastidio crear un certificado para cada uno de ellos.
Así que intenté crear un certificado usando comodines en
Common
campo
Common
como se sugiere en algunas de las respuestas en serverfault.
Me gusta esto:
Common Name: *.myserver.net/CN=myserver.net
Sin embargo, después de importar este certificado a Trusted Root Certification Authority,
NET::ERR_CERT_COMMON_NAME_INVALID
error
NET::ERR_CERT_COMMON_NAME_INVALID
en Chrome, para el dominio principal y todos sus subcadenas principales, por ejemplo:
https://sub1.myserver.net
y
https://myserver.net
.
Este servidor no pudo probar que es myserver.net; su certificado de seguridad es de * .myserver.net / CN = myserver.net.
Esto puede ser causado por una configuración incorrecta o un atacante que intercepta su conexión.
¿Hay algo mal en el campo Nombre común que está causando este error?
Chrome 58 ha dejado de admitir certificados sin nombres alternativos de sujeto .
En el futuro, esta podría ser otra razón por la que te encuentras con este error.
Como dijo Rahul, es un error común de Chrome y OSX.
Estaba teniendo problemas similares en el pasado.
De hecho, finalmente me cansé de hacer 2 clics adicionales [sí, sé que no son muchos] al probar un sitio local para trabajar.
En cuanto a una posible solución a este problema [usando Windows], usaría una de las muchas
utilidades de certificados de firma automática disponibles
.
Pasos recomendados:
- Crear un certificado autofirmado
- Importar certificado en el Administrador de certificados de Windows
-
Importar certificado en Chrome Certificate Manager
NOTA: El Paso 3 resolverá el problema experimentado una vez que Google solucione el error ... teniendo en cuenta que el tiempo ha sido obsoleto, no hay ETA en el futuro previsible. **
Por mucho que prefiera usar Chrome para el desarrollo, últimamente me he encontrado en Firefox Developer Edition . que no tiene este problema.
Espero que esto ayude :)
Crear archivo
openssl.conf
:
[req]
default_bits = 2048
default_keyfile = oats.key
encrypt_key = no
utf8 = yes
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = Cary
L = Cary
O = BigCompany
CN = *.myserver.net
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = myserver.net
DNS.2 = *.myserver.net
Ejecute este comando:
openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -keyout app.key -out app.crt -config openssl.conf
Los archivos de salida
app.crt
y
app.key
funcionan para mí.
Creo que puede ser un error en Chrome. Hubo un problema similar hace mucho tiempo: mira esto.
Prueba en un navegador diferente. Creo que debería funcionar bien.
Para todos los que se encuentren con esto y quieran aceptar el riesgo de probarlo, existe una solución: vaya al modo de incógnito en Chrome y podrá abrir "Avanzado" y haga clic en "Continuar con some.url".
Esto puede ser útil si necesita verificar algún sitio web que está manteniendo y solo probarlo como desarrollador (y cuando aún no tiene configurado el certificado de desarrollo adecuado).
Por supuesto, esto NO ES PARA PERSONAS que usan un sitio web en producción donde este error indica que hay un problema con la seguridad del sitio web.
Si estás cansado de este error. Puedes hacer que Chrome no actúe así. No digo que sea la mejor manera, solo digo que es una forma.
Como solución alternativa, se puede crear una clave de registro de Windows para permitir que Google Chrome use el nombre común de un certificado de servidor para que coincida con un nombre de host si al certificado le falta una extensión subjectAlternativeName, siempre y cuando se valide y encadena con éxito a una CA instalada localmente certificados
Tipo de datos: booleano [Windows: REG_DWORD] Ubicación del registro de Windows: HKEY_LOCAL_MACHINE / SOFTWARE / Policies / Google / Chrome Windows / Mac / Linux / Android nombre de preferencia: EnableCommonNameFallbackForLocalAnchors Valor: 0x00000001 (Windows), verdadero (Linux), verdadero (Android), (Mac) Para crear una clave de registro de Windows, simplemente siga estos pasos:
Abra el Bloc de notas Copie y pegue el siguiente contenido en el Bloc de notas del Editor del Registro de Windows Versión 5.00
[HKEY_LOCAL_MACHINE / SOFTWARE / Policies / Google / Chrome] "EnableCommonNameFallbackForLocalAnchors" = dword: 00000001 Vaya a Archivo> Guardar como nombre de archivo: any_filename.reg Guardar como tipo: Todos los archivos
Seleccione una ubicación preferida para el archivo
Haga clic en Guardar
Haga doble clic en el archivo guardado para ejecutar
Haga clic en Sí en la advertencia del Editor del Registro
Encontré esta información en la página de soporte de Symantec: https://support.symantec.com/en_US/article.TECH240507.html
Su comodín
*.example.com
no
cubre el dominio raíz
example.com
pero cubrirá cualquier variante en un
subdominio
como
www.example.com
o
test.example.com
El método preferido es establecer nombres alternativos de sujeto como en
la respuesta de Fabian,
pero tenga en cuenta que Chrome actualmente requiere que el nombre común se enumere adicionalmente como uno de los nombres alternativos de sujeto (como se demuestra correctamente en su respuesta).
Recientemente descubrí este problema porque tenía el nombre común
example.com
con SAN
www.example.com
y
test.example.com
, pero recibí la advertencia
NET::ERR_CERT_COMMON_NAME_INVALID
de Chrome.
Tuve que generar una nueva solicitud de firma de certificado con
example.com
como el nombre común
y
una de las SAN.
Entonces Chrome confió completamente en el certificado.
Y no olvide importar el certificado raíz en Chrome como una autoridad confiable para identificar sitios web.
Una solución alternativa es agregar los nombres de dominio que usa como "subjectAltName" (Nombre alternativo de sujeto X509v3).
Esto se puede hacer cambiando la configuración de OpenSSL (
/etc/ssl/openssl.cnf
en Linux) y modificando la sección
v3_req
para que se vea así:
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = myserver.net
DNS.2 = sub1.myserver.net
Con esto en su lugar, no olvide usar el
-extensions v3_req
al generar su nuevo certificado.
(vea también
¿Cómo puedo generar un certificado autofirmado con SubjectAltName usando OpenSSL?
)