Soporte para TLS predeterminado versiones del sistema incluidas en.NET Framework 3.5 en Windows Server 2012

El .NET framework versión 3.5 y versiones anteriores no proporcionó soporte para aplicaciones que utilizan versiones de predeterminado del sistema de seguridad de capa de transporte (TLS) como protocolo de cifrado. Esta actualización permite el uso de TLS v1.2 en.NET Framework 3.5.

Nota este contenido se ha hecho disponible en Windows Update. Para obtener el contenido, busque en Windows Update para obtener las actualizaciones más recientes de.NET Framework. Si su sistema está totalmente actualizado a través de Windows Update, no necesitará realizar ninguna acción adicional.

Solución

Información de descarga

Los archivos siguientes están disponibles para su descarga desde Microsoft Download Center:Download Download Hemos realizado las siguientes mejoras en esta área:

  • El siguiente registro se pueden establecer claves para utilizar el sistema operativo predeterminado para SSL y TLS en lugar del codificado de.NET Framework valores predeterminados para una aplicación administrada que se ejecutan en el equipo.

    • Para los sistemas operativos de 64 bits:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    • Para los sistemas operativos de 32 bits:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    Nota Si la aplicación ha establecido los ServicePointManager.SecureProtocol en el código o archivos de configuración en un valor específico, o utiliza la API SslStream.AuthenticateAs* para especificar una enumeración SslProtocols específica, la configuración del registro comportamiento no se produce.

  • Además, hemos añadido la enumeración SslProtocolsExtensions que se puede utilizar como una opción para configurar TLS v1.1, v1.2 TLS, así como valores predeterminados del sistema operativo para la propiedad ServicePointManager.SecurityProtocol cuando el destino es .NET Framework versión 2.0 Service Pack 2. (Consulte la sección de la Guía del desarrollador para obtener la información sobre cómo utilizar las extensiones). Nota: Windows Vista Service Pack 2 y Windows Server 2008 SP2 no admiten versiones del protocolo de seguridad de capa de transporte (TLS) más recientes que 1.0. Aplicaciones administradas de.NET Framework 2.0 Service Pack 2 con Windows Vista SP2 o Windows Server 2008 SP2 no pueden utilizar TLS 1.2 o TLS 1.1, aunque dichos protocolos se establecen en la propiedad ServicePointManager.SecurityProtocol .

Para obtener más información acerca de cómo descargar archivos de soporte técnico de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

Cómo obtener archivos de soporte técnico de Microsoft desde los servicios en línea Microsoft examinó este archivo en busca de virus. Microsoft usó el software de detección de virus más reciente que había disponible en la fecha en la que se publicó el archivo. El archivo está guardado en servidores de seguridad mejorada que ayudan a prevenir cambios no autorizados del archivo.

Instrucciones para los desarrolladores

La definición de las nuevas extensiones son en los siguientes archivos:

  • SecurityProtocolTypeExtensions.csnamespace System.Net{using System.Security.Authentication;public static class SecurityProtocolTypeExtensions{public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;}}

  • SslProtocolsExtensions.csnamespace System.Security.Authentication{public static class SslProtocolsExtensions{public const SslProtocols Tls12 = (SslProtocols)0x00000C00;public const SslProtocols Tls11 = (SslProtocols)0x00000300;}}

Para incluir el soporte para TLS v1.2, incluir los archivos de origen en el proyecto y establezca la versión de protocolo mediante el uso de los métodos siguientes:

  • Aplicaciones que usan las API basadas en ServicePointManager pueden establecer el protocolo mediante el following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Las aplicaciones que se utilizan la sobrecarga de SslStream AuthenticateAsClient (String, Boolean X509CertificateCollection, SslProtocols,) pueden establecer el valor de SslProtocols como SslProtocolsExtensions.Tls12.

Si se establece la configuración del registro que se menciona en el primer párrafo, y se establece el valor de SslProtocols en la aplicación como SslProtocols.None, el comportamiento predeterminado del sistema que se elija dependerá de la versión de Windows. Además, cuando se cambia el código de la aplicación para habilitar la compatibilidad con TLS v1.2 con.NET Framework 3.5 SP1, debe asegurarse de que tratan con las siguientes excepciones en los equipos en los que no se ha implementado esta revisión:

  1. Si la revisión no está instalada, ServicePointManager-basados en API (HTTP, FTP, SMTP) producirá "System.NotSupportedException: no se admite el protocolo de seguridad solicitado" cuando la aplicación llama a ServicePointManager.SecurityProtocol para establecer el nuevo valor.

  2. Si la revisión no está instalada, SslStream-basados en API producirá excepciones cuando llama a cualquiera de las API AuthenticateAs *:

    System.ArgumentException: El valor especificado no es válido en la enumeración de 'SslProtocolType'. Nombre del parámetro: sslProtocolType

Nota Para SslStream sólo, una combinación de Tls12, Tls11 con cualquiera de los existentes de Tls, Ssl3, Ssl2 (por ejemplo: Tls12 | Tls11 | TLS) reducirá el nivel silenciosamente a los protocolos existentes (por ejemplo: Tls) en un sistema sin la revisión. Se conectará a Tls sin producir la excepción.

Más información

Para habilitar TLS v1.1 o v1.2 como valores predeterminados del sistema operativo, siga las instrucciones que aparecen en .Nota TLS v1.1 y v1.2 no están disponibles en Windows Vista o Windows Server 2008.If tendrá que deshabilitar la configuración predeterminada de sistema operativo que se establece mediante la clave del registro que se menciona en la sección "Resolución" para aplicaciones específicas, puede hacerlo agregando el clave del registro siguiente:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions<<Full path of the .exe for the file>> DWORD 0C:\MyApp\MyApp.exe DWORD 0

Para obtener más información acerca de TLS v1.2, vea . Después de habilitar la clave del registro SystemDefaultTlsVersions . NET, se produce un comportamiento diferente para cada versión de Windows, como se muestra en la siguiente tabla.

Versión de Windows

Cliente de SSL2

Servidor de SSL2

Cliente SSL3

Servidor SSL3

TLS 1.0 cliente

TLS 1.0 Server

TLS 1.1 cliente

TLS 1.1 servidor

TLS 1.2 cliente

TLS 1.2 Server

Windows Vista SP2 y Windows Server 2008 SP2

Desactivado

Activado

Activado

Activado

Activado

Activado

N/A

N/A

N/A

N/A

Windows 7 SP1 y Windows Server 2008 R2 SP1

Desactivado

Activado

Activado

Activado

Activado

Activado

Desactivado

Desactivado

Desactivado

Desactivado

Windows Server 2012

Desactivado

Desactivado

Activado

Activado

Activado

Activado

Activado

Activado

Activado

Activado

Windows 8.1 y Windows Server 2012 R2

Desactivado

Desactivado

Activado

Activado

Activado

Activado

Activado

Activado

Activado

Activado

Windows 10

Desactivado

Desactivado

Activado

Activado

Activado

Activado

Activado

Activado

Activado

Activado

Windows 10 (1511)

Desactivado

Desactivado

Activado

Activado

Activado

Activado

Activado

Activado

Activado

Activado

Windows 10 (1607) y Windows Server 2016

N/A

N/A

Desactivado

Desactivado

Activado

Activado

Activado

Activado

Activado

Activado

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×