Saltar al contenido

Actualizar el servicio web .NET para usar TLS 1.2

Solución:

De hecho, acabamos de actualizar un servicio web .NET a 4.6 para permitir TLS 1.2.

Lo que dice Artem fueron los primeros pasos que dimos. Recopilamos el marco del servicio web a 4.6 e intentamos cambiar la clave de registro para habilitar TLS 1.2, aunque esto no funcionó: la conexión todavía estaba en TLS 1.0. Además, no queríamos rechazar SLL 3.0, TLS 1.0 o TLS 1.1 en la máquina: otros servicios web podrían estar usando esto; revertimos nuestros cambios en el registro.

De hecho, cambiamos los archivos Web.Config para decirle a IIS: “hey, ejecúteme en 4.6, por favor”.

Estos son los cambios que agregamos en web.config + recompilación en .NET 4.6:

<system.web>
    <compilation targetFramework="4.6"/> <!-- Changed framework 4.0 to 4.6 -->

    <!--Added this httpRuntime -->
    <httpRuntime targetFramework="4.6" />

    <authentication mode="Windows"/>
    <pages controlRenderingCompatibilityVersion="4.0"/>
</system.web>

Y la conexión cambió a TLS 1.2, porque IIS ahora está ejecutando el servicio web en 4.6 (dicho explícitamente) y 4.6 usa TLS 1.2 de forma predeterminada.

Agregue el siguiente código antes de crear una instancia de su cliente de servicio web:

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

O para compatibilidad con versiones anteriores de TLS 1.1 y anteriores:

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

si está utilizando .Net antes de 4.5, no tendrá Tls12 en la enumeración, por lo que el estado se menciona explícitamente aquí

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *