err_ssl_version_or_cipher_mismatch o cómo solucionar problemas de negociación SSL
ERR_SSL_VERSION_OR_CIPHER_MISMATCH es el error que muestra Google Chrome cuando el navegador y el servidor no logran acordar una versión del protocolo SSL/TLS ni una suite de cifrado comunes. Suele deberse a protocolos obsoletos en el navegador o en el servidor y se resuelve analizando las versiones TLS admitidas (por ejemplo, con SSL Labs), ajustando navegador o servidor, borrando la caché y revisando software que interfiera.
A veces, al intentar acceder a una página web, aparece un error que dice que no se ha podido negociar un protocolo SSL o un conjunto de cifrados. En Google Chrome ese error viene acompañado del texto "err_ssl_version_or_cipher_mismatch"; en otros navegadores, el texto es distinto, aunque muy parecido.

Cada vez que te conectas a un servidor web mediante el protocolo HTTPS, el navegador hace ciertas negociaciones para asegurar que el intercambio de datos con el servidor es seguro.
Si el cliente (Google Chrome) y el servidor no consiguen ponerse de acuerdo en la versión del protocolo SSL que van a usar, o en la suite de cifrado, aparece el aviso "err_ssl_version_or_cipher_mismatch".
- Motivos por los que aparece el mensaje err_ssl_version_or_cipher_mismatch
- Cómo saber la causa del mensaje err_ssl_version_or_cipher_mismatch
- Analizar las versiones TLS soportadas por el servidor
- Soluciones al error err_ssl_version_or_cipher_mismatch
- Cambiar los protocolos SSL/TLS soportados en el navegador web
- Borrar la caché del navegador web
- Cambiar los protocolos soportados por el servidor
- Software que interfiere en las conexiones seguras
Motivos por los que aparece el mensaje err_ssl_version_or_cipher_mismatch
Ese error aparece porque la aplicación cliente y el servidor usan versiones TLS distintas, o porque no se ponen de acuerdo en la suite de cifrado con la que van a comunicarse.
En la mayoría de los casos, el motivo es que las versiones de los protocolos SSL/TLS que usa tu navegador están obsoletas. También puede pasar que las obsoletas sean las del servidor.
En todos los productos administrados que ofrecemos en Raiola Networks tenemos el software actualizado para que esto no ocurra.
El mensaje "err_ssl_version_or_cipher_mismatch" no sale solo en navegadores como Google Chrome o Mozilla Firefox: también puede darse en otras aplicaciones, como clientes de correo (Outlook, Thunderbird), o en cualquier programa que se conecte mediante conexiones seguras.
Eso sí, como te comentábamos antes, el texto del error cambia.
Aquí te mostramos cómo, al intentar hacer una conexión de tipo SSH, salta un error porque el servidor y el cliente no se ponen de acuerdo en la suite de cifrado que van a usar, ya que no comparten ninguna, y no se consigue una conexión segura:
fran ➜ ~ $ ssh -v 51.210.87.242 OpenSSH_9.2p1, OpenSSL 3.0.8 7 Feb 2023 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Connecting to 51.210.87.242 [51.210.87.242] port 22. debug1: Connection established. debug1: identity file /home/trabajo/.ssh/id_rsa type -1 debug1: identity file /home/trabajo/.ssh/id_rsa-cert type -1 debug1: identity file /home/trabajo/.ssh/id_ecdsa type -1 debug1: identity file /home/trabajo/.ssh/id_ecdsa-cert type -1 debug1: identity file /home/trabajo/.ssh/id_ecdsa_sk type -1 debug1: identity file /home/trabajo/.ssh/id_ecdsa_sk-cert type -1 debug1: identity file /home/trabajo/.ssh/id_ed25519 type -1 debug1: identity file /home/trabajo/.ssh/id_ed25519-cert type -1 debug1: identity file /home/trabajo/.ssh/id_ed25519_sk type -1 debug1: identity file /home/trabajo/.ssh/id_ed25519_sk-cert type -1 debug1: identity file /home/trabajo/.ssh/id_xmss type -1 debug1: identity file /home/trabajo/.ssh/id_xmss-cert type -1 debug1: identity file /home/trabajo/.ssh/id_dsa type -1 debug1: identity file /home/trabajo/.ssh/id_dsa-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_9.2 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4 debug1: compat_banner: match: OpenSSH_7.4 pat OpenSSH_7.4* compat 0x04000006 debug1: Authenticating to 51.210.87.242:22 as 'trabajo' debug1: load_hostkeys: fopen /home/trabajo/.ssh/known_hosts: No such file or directory debug1: load_hostkeys: fopen /home/trabajo/.ssh/known_hosts2: No such file or directory debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: ssh-ed25519 Unable to negotiate with 51.210.87.242 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
En la última línea de este intento de conexión, se ve que el mensaje es "no matching cipher found", es decir, que no hay acuerdo sobre qué suite de seguridad usar.
Como ves, el problema es el mismo (esto es, que no hay una negociación SSL exitosa), pero el mensaje es ligeramente distinto.
Cada aplicación muestra el mensaje con un código distinto. En Mozilla Firefox, por ejemplo, es "SSL_ERROR_PROTOCOL_VERSION_ALERT":

Y en Google Chrome es exactamente "ERR_SSL_VERSION_OR_CIPHER_MISMATCH", como se veía en la captura del inicio del artículo.
Cómo saber la causa del mensaje err_ssl_version_or_cipher_mismatch
Hay varias formas de deshacerte del mensaje "ERR_SSL_VERSION_OR_CIPHER_MISMATCH" al acceder a un sitio web. Las soluciones las puedes aplicar desde tu navegador, Google Chrome por ejemplo, o desde la configuración del servidor, aunque para estas últimas necesitas conocimientos algo más avanzados.
Analizar las versiones TLS soportadas por el servidor
Lo primero que necesitas saber, para tener claro qué camino tomar, son las versiones SSL/TLS que está ofreciendo el servidor.
Hay herramientas online para esto, como la de SSL Labs que nos permite analizar qué protocolos y suites de cifrado permite un servidor a través del protocolo HTTPS. Si quieres analizar otros protocolos, IMAP o SMTP porque tienes problemas al conectar tu aplicación de correo, por ejemplo, pon el nombre del dominio con el puerto, así: raiola.ejemplo.com:465, pero para eso tendrás que crear una cuenta antes.

En la siguiente imagen, puedes ver el análisis que ha hecho SSL Labs de un servidor de hosting compartido de Raiola Networks. Como ves, soporta TLS 1.3 y TLS 1.2, y también TLS 1.1 y TLS 1.0: son algo antiguos, pero si no se soportan, hay navegadores y sistemas operativos que no podrían acceder a las páginas alojadas en ese servidor. Se ven también las suites de cifrado que soporta cada protocolo.
Soluciones al error err_ssl_version_or_cipher_mismatch
Con las causas claras y sabiendo cómo analizarlas, toca ponerse con las soluciones. Estas son las medidas más sencillas que puedes aplicar para acceder con normalidad a tu sitio web.
Cambiar los protocolos SSL/TLS soportados en el navegador web
Si ves el mensaje "err_ssl_version_or_cipher_mismatch" en Google Chrome al intentar acceder a tu sitio, haz lo siguiente:
Abre una nueva pestaña y accede a chrome://flags. En el buscador de la parte superior, escribe SSL/TLS, busca la opción "Minimum SSL/TLS" y configura una que soporte tu servidor.
Ojo con esta opción, porque puede dejar expuesto tu navegador: si la usas, tienes que estar muy seguro de lo que haces.
En Firefox se hace de forma muy parecida:
Abre una nueva pestaña, accede a about://config, escribe security.tls.version en el buscador y activa "security.tls.version.enable-deprecated".
Borrar la caché del navegador web
A veces, la forma más sencilla de resolver un problema con el certificado SSL de tu sitio es borrar la caché del navegador.
Un navegador como Google Chrome que guarda datos obsoletos sobre un sitio web puede darte problemas al acceder mediante una conexión segura HTTPS, de manera que solo con esa acción resuelves el mensaje "err_ssl_version_or_cipher_mismatch".
Cambiar los protocolos soportados por el servidor
Si tienes un servidor VPS o dedicado en Raiola Networks, puedes controlar cómo cifra las conexiones. Ahí tienes varias opciones:
- Si tienes contratado el servicio de administración, saca una captura del error y mándanosla en un ticket. Nosotros nos encargamos.
- Si cuentas con un panel de control, como cPanel o Plesk, busca en su documentación cómo habilitar las versiones y tipos de cifrado que necesitas.
- Si has montado el servidor a mano, conéctate por SSH y edita el archivo de configuración del servidor web, habilitando las versiones de SSL/TLS que necesitas y sus suites de cifrado.
Software que interfiere en las conexiones seguras
Es habitual usar aplicaciones para proteger la seguridad de tus equipos informaticos, como los antimalware.
Estas suites de seguridad pueden influir en muchas capas cuando nos conectamos a un servidor web, y podrían interferir en la comunicación.
Prueba a desactivar el antivirus de tu ordenador, al menos temporalmente, y accede otra vez a la página, pero antes de hacerlo, asegúrate de que el sitio está bloqueado por ofrecer cifrados obsoletos y de que no es un riesgo para tu seguridad.
Si ves el mensaje "err_ssl_version_or_cipher_mismatch", no estás ante un problema de seguridad, es un problema de comunicación entre el cliente y el servidor: pasa lo mismo que si no consigues hacerte entender con una persona que no habla tu idioma.