Sign in with Microsoft
New to Microsoft? Create an account.

Sintomas

Suponha que tiver actualizado para o Microsoft .NET Framework 4.6 no seu computador. Quando utiliza uma aplicação que utiliza SSL 3.0 com ServicePointManager ou SslStream APIs para ligar a um servidor, a ligação falha.

Causa

Este problema ocorre porque o conjunto de protocolos SSL/TLS predefinido que é utilizado pelo ServicePointManager e SslStream foi alterado.

Valor antigo: Ssl 3.0 | TLS 1.0 | TLS 1.1


Novo valor: Tls 1.0 | TLS 1.1 | TLS 1.2

Solução alternativa

Para contornar este problema, actualize o servidor para Tls 1.0, Tls 1.1 ou Tls 1.2 porque foi demonstrado SSL 3.0 não seguro e vulnerável a ataques, como POODLE.

Nota Se não é possível actualizar o servidor, utilize a classe de AppContext de recusarem a esta funcionalidade. Para tal, utilize um dos seguintes métodos:

  • Através de programação: Tem de ser a primeira coisa que a aplicação executa porque ServicePointManager será inicializado apenas uma vez. Utilize o seguinte exemplo de código na sua aplicação:

    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
  • Utilizando o ficheiro de AppConfig para a sua aplicação: adicione a seguinte linha no ficheiro Appconfig:
    < AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/ >



Para mais informações sobre os problemas conhecidos em 4.6 de Framework .NET, consulte problemas para o quadro 4.6. .NET conhecidos.

Mais informações

Para mais informações sobre as alterações de versões de produto e o impacto em 4.6 de Framework .NET, consulte Compatibilidade de aplicações em 4.6 de Framework .NET.

Notas

  • A nova configuração só serão aplicadas quando a aplicação é de filtragem a 4.6. .NET Framework. O .NET Framework 4.5.2 e versões anteriores não serão afectados mesmo que sejam executados num ambiente do .NET Framework 4.6.

  • Uma lista de APIs de nível superior afectados:

    • HttpClient, HttpWebRequest

    • FtpClient

    • SmtpClient

    • SslStream

  • SCH_USE_STRONG_CRYPTO Este sinalizador vai ser usada automaticamente em 4.6 de Framework .NET e afecta o comportamento removendo não seguros algoritmos criptográficos e hash. Para todas as plataformas do sistema operativo anteriores ao Windows 10, o algoritmo de RC4 será removido da utilização. De 10 de Windows, os seguintes algoritmos inseguros adicionais serão removidos: DES, Nulo, EXPORTAR e MD5


Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?

Obrigado pelo seu feedback!

×