Estoy migrando un sitio web seguro. Instalé el mismo certificado en el nuevo host y apunté el nombre de dominio a la nueva dirección IP (a través de mi archivo de hosts). Sin embargo, cuando intento acceder a ese servidor con un navegador web, aparece un error de verificación del certificado.
Para complicar las cosas, el nuevo host es un servicio que utiliza SNI. Por lo tanto, el mensaje de error que se muestra, que el nombre de dominio no coincide con el certificado, se refiere al certificado anterior SNI. Dudo que SNI esté configurado incorrectamente ya que todas las demás conexiones funcionan.
Para intentar diagnosticar el problema, usé openssl s_client
. Para mi consternación, openssl
no tiene problemas para conectarse, y no veo errores al emitir una solicitud HTTP:
openssl s_client -connect <ipaddress>:443 -servername <domainname> -showcerts -debug
¿Existen otras herramientas para diagnosticar por qué los navegadores web (que he probado con Chrome, Firefox e IE) rechazan un certificado a pesar de que openssl s_client
no no ?
Esta es la salida abreviada de openssl
en caso de que pueda detectar el problema:
CONNECTED(00000003)
Certificate chain
0 s:<subject details>
i:<issuer details>
<certificate>
1 s:<subject details>
i:<issuer details>
<certificate>
2 s:<subject>
i:<issuer, same as subject>
<certificate>
---
Server certificate
[certificate information]
---
No client certificate CA names sent
Server Temp Key: ECDH, prime256v1, 256 bits
---
SSL handshake has read 4392 bytes and written 408 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Session-ID: <session id>
Session-ID-ctx:
Master-Key: <master key>
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
TLS session ticket lifetime hint: 300 (seconds)
TLS session ticket:
<hex output>
Start Time: 1434382473
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
read:errno=0
Actualizar :
Chrome informa que "el certificado del servidor no coincide con la URL", pero como dije, esto se debe al uso de SNI; se queja de que el certificado utilizado para conectarse inicialmente no coincide con la URL. openssl
hace bien la cosa de SNI, así que creo que el navegador está rechazando el certificado que acepta openssl
.
error de Firefox:
utiliza un certificado de seguridad no válido. El certificado solo es válido para los siguientes nombres: (Código de error: ssl_error_bad_cert_domain)
error de IE:
El certificado de seguridad presentado por este sitio web se emitió para una dirección de sitio web diferente.
RESOLUCIÓN :
Gracias a todos por su ayuda. Los detalles son difíciles de proporcionar en mi caso para una variedad de problemas. Encontré el problema sin embargo. El certificado fue correctamente instalado y aceptado. Lo que no noté es que el sitio realizó una redirección a un dominio para el cual el certificado no se instaló correctamente (www.thedomainname.com). Ojalá me hubiera dado cuenta antes.