example ejemplo .net wcf

.net - ejemplo - wcf vs web api



Cliente WCF en.NET 4.5.1: ¿Cómo habilitar TLS 1.2 cuando se utiliza WebRequest? (2)

Aunque no es fácil de entender, la propiedad necesaria es:

System.Net.ServicePointManager.SecurityProtocol

Esto se puede usar para deshabilitar y habilitar niveles de TLS en el entorno WCF.

Además, puedes ver con qué WCF está configurado actualmente para usar:

Console.WriteLine(System.Net.ServicePointManager.SecurityProtocol.ToString());

Gracias a: ¿Cómo desactivo la recuperación de SSL y uso solo TLS para las conexiones de salida en .NET? (Mitigación del caniche)

Nuestro .net WCF Client, la llamada WebRequest, compilada a un EXE de Windows, ejecutándose en Win2012-R2, se niega a conectarse a un servidor web que emerge SOLAMENTE TLS 1.2

Sabemos que Win2012 y .NET 4.5x son compatibles con TLS 1.2

No tenemos problemas cuando el servidor sale a la superficie TLS 1.0 y posteriores. El problema solo se ve cuando el servidor al que nos conectamos tiene DISABLED TLS 1.0, 1.1 y SSL2 y SSL3. El servidor SÓLO muestra TLS 1.2. Chrome y Firefox (en Win 7 y superior) se conectan bien al servidor (sin advertencias ni problemas de SSL de ningún tipo).

El certificado del servidor es% 100 OK.

El problema es que WebRequest no se conecta en esta situación.

¿Qué debemos configurar en el código para que nuestro uso de WebRequest se conecte a los sistemas que pueden ejecutar TLS 1.2, 1.1, 1.0 y / o SSL v3?


Deberías trabajar con .NET 4.5 o una versión superior y agregar esta línea en tu código:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;