As versões anteriores e a versão do .NET framework 3.5.1 não forneceu suporte para os aplicativos que usam versões de padrão de sistema de segurança de camada de transporte (TLS) como um protocolo de criptografia. Essa atualização permite o uso de TLS v 1.2 no.NET Framework 3.5.1.

Nota este conteúdo foi disponibilizado no Windows Update. Para obter o conteúdo, verificar o Windows Update, as atualizações mais recentes do.NET Framework. Se o sistema está totalmente atualizado através do Windows Update, você não precisa fazer mais nada.

Resolução

Informações sobre o download

Os seguintes arquivos estão disponíveis para download no Microsoft Download Center:Download Baixe agora o pacote com base em x86.Download Baixe agora o pacote com base em x64.Download Baixe agora o pacote com base em IA64. Fizemos as seguintes melhorias nessa área:

  • As seguintes chaves do Registro podem ser definidas para usar os padrões do sistema operacional para os protocolos SSL e TLS em vez dos padrões em código fixo do .NET Framework para um aplicativo gerenciado em execução no computador.

    • Para sistemas operacionais 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 sistemas operacionais de 32 bits:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    Observação Se o aplicativo tiver definido o ServicePointManager.SecureProtocol no código ou por meio de arquivos de configuração para um valor específico ou usa SslStream.AuthenticateAs* APIs para especificar uma enumeração SslProtocols específica, a configuração do registro comportamento não ocorre.

  • Além disso, adicionamos a enumeração de SslProtocolsExtensions que você pode usar como uma opção de configuração v 1.2 TLS, o TLS 1.1, bem como sistema operacional padrão para a propriedade ServicePointManager.SecurityProtocol ao direcionamento .NET versão do Framework 2.0 SP2. (Consulte a seção Diretrizes de desenvolvedor para obter informações sobre como usar as extensões.) Observação: Windows Vista SP2 e Windows Server 2008 SP2 não têm suporte para versões mais recentes do que 1.0 do protocolo de segurança de camada de transporte (TLS). Aplicativos gerenciados do.NET Framework 2.0 SP2 em execução no Windows Vista SP2 ou Windows Server 2008 SP2 não podem usar TLS 1.2 ou o TLS 1.1, mesmo que esses protocolos são definidos na propriedade ServicePointManager.SecurityProtocol .

Para obter mais informações sobre como baixar arquivos de suporte da Microsoft, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:

119591 Como obter arquivos de suporte da Microsoft pelos serviços online A Microsoft verificou este arquivo em busca de vírus. A Microsoft utilizou o software de detecção de vírus mais recente disponível na data em que o arquivo foi postado. O arquivo está armazenado em servidores de segurança avançada que ajudam a evitar alterações não autorizadas nele.

Diretrizes para desenvolvedores

A definição de novas extensões são nos seguintes arquivos:

  • 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 o suporte para v 1.2 TLS, incluir os arquivos de origem em seu projeto e defina a versão do protocolo usando os seguintes métodos:

  • Aplicativos que usam APIs baseadas em ServicePointManager podem definir o protocolo usando o following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Aplicativos que estão usando a sobrecarga de AuthenticateAsClient (String, booleano X509CertificateCollection, SslProtocols,)SslStream podem definir o valor de SslProtocols como SslProtocolsExtensions.Tls12.

Se a configuração do registro que é mencionada no primeiro parágrafo é definida, e o valor de SslProtocols é definido no aplicativo como SslProtocols.None, o comportamento padrão do sistema escolhido dependerá da versão do Windows. Além disso, quando você alterar o código do aplicativo para ativar o suporte para v 1.2 TLS com o.NET Framework 3.5 SP1, verifique se que você lidar com as seguintes exceções em computadores em que esse patch não é implantado:

  1. Se o hotfix não estiver instalado, ServicePointManager-APIs baseado em (HTTP, FTP, SMTP) lançará "System.NotSupportedException: não há suporte para o protocolo de segurança solicitado" quando o aplicativo chama ServicePointManager.SecurityProtocol para definir o novo valor.

  2. Se o hotfix não estiver instalado, SslStream-APIs com base lançarão exceções quando eles chamam uma das APIs AuthenticateAs *:

    System. ArgumentException: O valor especificado não é válido na enumeração 'SslProtocolType'. Nome do parâmetro: sslProtocolType

Observação Para SslStream somente, uma combinação de Tls12, Tls11 com qualquer no Tls, Ssl3, existente Ssl2 (por exemplo: Tls12 | Tls11 | TLS) será silenciosamente o downgrade para os protocolos existentes (por exemplo: Tls) em um sistema sem o patch. Ele deverá se conectar a Tls sem lançar a exceção.

Informações adicionais

Para ativar o TLS 1.1 ou v 1.2 como padrão do sistema operacional, siga as instruções em https://technet.microsoft.com/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Observação TLS 1.1 e v 1.2 não estão disponíveis no Windows Vista ou Windows Server 2008.If você deve desabilitar os padrões do sistema operacional que são definidos pela chave de registro mencionada na seção "Resolução" para aplicativos específicos, você pode fazer isso adicionando o seguinte chave do registro: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 obter mais informações sobre v 1.2 TLS, consulte v 1.2 apresentando TLS. Depois que você habilitar a chave de registro SystemDefaultTlsVersions .NET, ocorre um comportamento diferente para cada versão do Windows, conforme mostrado na tabela a seguir.

Versão do Windows

Cliente SSL2

Servidor SSL2

Cliente SSL3

Servidor SSL3

O TLS 1.0 cliente

O TLS 1.0 Server

O TLS 1.1 cliente

O TLS 1.1 Server

O TLS 1.2 cliente

O TLS 1.2 Server

Windows Vista SP2 e Windows Server 2008 SP2

Desativado

Ativado

Ativado

Ativado

Ativado

Ativado

N/A

N/A

N/A

N/A

Windows 7 SP1 e Windows Server 2008 R2 SP1

Desativado

Ativado

Ativado

Ativado

Ativado

Ativado

Desativado

Desativado

Desativado

Desativado

Windows Server 2012

Desativado

Desativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Windows 8.1 e Windows Server 2012 R2

Desativado

Desativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Windows 10

Desativado

Desativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Windows 10 (1511)

Desativado

Desativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Windows 10 (1607) e Windows Server 2016

N/A

N/A

Desativado

Desativado

Ativado

Ativado

Ativado

Ativado

Ativado

Ativado

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade da tradução?
O que afetou sua experiência?

Obrigado por seus comentários!

×