es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La conexión SSL no pudo establecerse, ver excepción interna. Win32Exception: El mensaje recibido era inesperado o estaba mal formateado.

Necesito descargar un documento de una URL, pero estoy obteniendo un error de conexión SSL. He intentado todas las soluciones compartidas en Stack Overflow, que eran casi iguales, pero todavía estoy obteniendo este error:

AuthenticationException: La autenticación falló porque la parte remota envió una alerta TLS: ‘HandshakeFailure’.

Win32Exception: El mensaje recibido no fue el esperado o estaba mal formateado.

La excepción completa es:

System.Net.Http.HttpRequestException: No se pudo establecer una conexión SSL, consulte la excepción interna.

—>
System.Security.Authentication.AuthenticationException: La autenticación falló porque la parte remota envió una alerta TLS: ‘HandshakeFailure’.

—>
System.ComponentModel.Win32Exception (0x80090326): El mensaje recibido no fue el esperado o estaba mal formateado.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que no se pudo establecer la conexión SSL. El código proporcionado en la pregunta incluye algunas soluciones compartidas en Stack Overflow, como establecer ServerCertificateValidationCallback y SslProtocols en TLS1.2. Además, se agregan certificados de cliente al HttpClientHandler.

    Una posibilidad es que el certificado SSL de la parte remota no sea de confianza o sea inválido. Para omitir este error, tanto ServerCertificateValidationCallback como httpClientHandler.ServerCertificateCustomValidationCallback se establecen en devolver siempre verdadero, incluso si el certificado SSL no es válido.

    Otra posibilidad es que el handshake TLS haya fallado. Esto puede ser causado por muchas cosas, incluyendo protocolos SSL/TLS incorrectos, conjuntos de cifrado u otros problemas de configuración. Establecer SslProtocols solo en TLS1.2 asegurará que solo se use TLS1.2 durante el proceso de handshake.

    En conclusión, si bien el código en la pregunta incluye algunas soluciones para errores de conexión SSL, puede haber otros problemas que estén causando el error “HandshakeFailure”. La solución de problemas del problema puede requerir un conocimiento más profundo de SSL, TLS y otros conceptos de redes.

Comments are closed.