Cuando se intenta realizar una conexión segura a un servicio web desde un servidor Windows y se recibe el error:
Request aborted: Failed to create SSL/TLS secure channel.
significa que el cliente y el servidor no han podido negociar un protocolo y conjunto de cifrado (Cipher Suite) compatible para la conexión TLS. Este problema suele presentarse cuando:
- El servidor destino solo admite ciertos protocolos TLS o Cipher Suites.
- El sistema cliente (Windows Server) no tiene habilitados los Cipher Suites requeridos.
- Existen restricciones en la configuración de seguridad del sistema cliente.
A continuación, se detallan los pasos para diagnosticar y solucionar este problema.
Paso 1: Verificar qué Protocolos y Cipher Suites Admite el Servidor Destino
Para conocer los protocolos y Cipher Suites soportados por el servicio web al que se intenta conectar, se puede utilizar la herramienta online SSL Labs Server Test:
- Accede a https://www.ssllabs.com/ssltest/.
- Introduce la URL del servicio web en la casilla de "Test your Server".
- Ejecuta la prueba y revisa la lista de protocolos TLS y Cipher Suites permitidos.
- Identifica si TLS 1.2 está habilitado y qué Cipher Suites se requieren.
Paso 2: Verificar la Configuración de TLS en Windows Server
En PowerShell, verifica qué Cipher Suites y protocolos están habilitados ejecutando:
Get-TlsCipherSuite | Format-Table Name
Si los Cipher Suites necesarios no aparecen en la lista, es necesario agregarlos.
Paso 3: Habilitar Cipher Suites en Windows Server con PowerShell
Antes de realizar cambios, asegúrate de utilizar los Cipher Suites que aparecen en la prueba de SSL Labs. Como ejemplo, si la herramienta indica que se requieren los siguientes:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_RSA_WITH_AES_256_CBC_SHA256
Se deben agregar estos valores en la configuración. A continuación, un ejemplo de cómo agregar Cipher Suites, pero recuerda utilizar los que indique la prueba:
$CipherSuites = @( "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256")$RegPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002"$CurrentSuites = (Get-ItemProperty -Path $RegPath).Functions$NewSuites = ($CipherSuites + $CurrentSuites) | Sort-Object -UniqueSet-ItemProperty -Path $RegPath -Name Functions -Value $NewSuites -Type MultiStringRestart-Service Schannel
Después de ejecutar este comando, reinicia el servidor para aplicar los cambios.
Paso 4: Configurar Cipher Suites en la Política de Grupo
Para asegurarse de que las configuraciones se aplican correctamente, sigue estos pasos:
- Presiona
Win + R
, escribegpedit.msc
y presionaEnter
. - Navega a
Configuración del equipo > Plantillas Administrativas > Red > Configuración SSL
. - En la opción "Orden de suites de cifrado SSL", haz doble clic para abrir la configuración.
- Activa la opción "Habilitado" y en la casilla de texto introduce los Cipher Suites requeridos en el mismo orden en que aparecen en la prueba de SSL Labs.
- Aplica los cambios y haz clic en "Aceptar".
- Reinicia el servidor para que los cambios surtan efecto.
Conclusión
El error "Failed to create SSL/TLS secure channel" generalmente ocurre cuando no hay coincidencia entre los Cipher Suites soportados por el servidor y los habilitados en el sistema cliente. Siguiendo estos pasos, puedes diagnosticar y resolver el problema habilitando los Cipher Suites adecuados en Windows Server.