tls servicepointmanager securityprotocol protocolo protocol example c# .net-4.0 httpwebrequest .net-4.5 tls1.2

c# - servicepointmanager - ¿Es posible enviar HttpWebRequest usando TLS1.2 en.NET 4.0 framework



using tls 1.2 c# (3)

Mi aplicación se conecta al servidor de Experian y Experian pronto dejará de admitir TLS 1.0 y TLS 1.1 . Toda la conectividad que usa HTTPS debe usar TLS Version 1.2 .

Quiero investigar un poco sobre ese tema y ver el envío de HttpWebRequest usando TLS 1.2 en el .NET 4.0 framework trabajo de .NET 4.0 framework

Si no es así, probablemente necesite crear un servicio webservice en .NET 4.5 y llamar a sus métodos, si lo hace, no tengo que hacer nada.

¿Alguien ya ha enfrentado ese problema?


Desafortunadamente no, no puedes hacer esto. Tls12 no se agregó hasta .netfx 4.5 (ver la documentación ). Tenga en cuenta que esto también requiere que Windows Server 2008 R2 + o Windows 7+ se ejecuten correctamente (observe la sección Se aplica A en Introducción a TLS ).


Sí, lo admite pero debe establecer explícitamente la versión de TLS en ServicePointManager . Simplemente haga que este código se ejecute en cualquier momento (en el mismo dominio de la aplicación) antes de realizar la llamada a Experian:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12


Tuve que lidiar con el mismo problema, al integrar PayPal en una aplicación heredada, y encontré la siguiente solución para .NET 4.0 que parece ser la solución:

ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; ServicePointManager.DefaultConnectionLimit = 9999;

Básicamente, la solución consiste en asignar directamente el puerto para TLS 1.2.

Todo el crédito va al comentarista en CodeProject .