.NET Framework 3.5 et TLS 1.2
J'ai actuellement une application web qui utilise l' .NET framework 3.5 et je me demande si il sera compatible avec le protocole TLS 1.2. Pas le cas dans notre code nous dicter TLS version. C'est un héritage de l'application et de le recompiler n'est pas sur la table dès maintenant. Je ne parviens pas à trouver beaucoup d'infos sur si vous pouvez ou ne peut pas, mais j'étais sous l'impression que la compatibilité est plus dépendant de la version de l'OS. On dirait le minimum est de 2008 R2. Le but est d'obtenir un compte paypal pour communiquer correctement à venir le 1er juillet.
source d'informationauteur Chris Lombardi | 2017-04-05
Vous devez vous connecter pour publier un commentaire.
Comme vous pouvez le voir à partir de la docsTLS 1.2 n'est pas dans l'énumération de
SslProtocols
il a été ajouté à l'enum .NET 4.5 (merci @orhun).Il n'existe aucune solution de contournement pour TLS 1.2 compatibilité .NET 3.5.
Malheureusement, vous devrez mettre à jour .NET 4.5 ou une version ultérieure pour obtenir TLS 1.2 compatibilité.
MODIFIER 10/11/17
Ma réponse ci-dessus n'est plus correcte. En Mai 2017, Microsoft a publié un paquet pour permettre à TLS 1.2 .NET 3.5.1.
Comme cela a été mentionné .net 3.5.1 NE l'est aujourd'hui prise en charge de TLS 1.2; mais vous n'avez pas besoin les modifications du registre mentionné par @Paulina réponse.
Je suis avec VS 2008 avec .net 3.5.30729.4926. Tout ce que j'avais à faire était de:
Ajouter des importations:
Ajouter à mon code (C#):
VB.net version:
Abattus à partir de: https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-.net-framework Remarque: par définition de la const dans mon code j'ai pu ignorer tout le reste de l'article, y compris les modifications du registre et des fichiers cs.
Vous pouvez faire TLS 1.2 travailler avec le Framework 3.5.
Microsoft a publié la mise à jour.
À suivre cette procédure
https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-.net-framework-3.5.1-on-windows-7-sp1-and-server-2008-r2-sp1
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
Nom du fichier et l'enregistrer avec .reg extension (les garder comme votre sauvegarde en cas de besoin pour les restaurer)
[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
Double-cliquez sur le fichier et cliquez sur Oui dans la fenêtre de permettre des changements
J'ai appliqué cette solution et il a travaillé pour moi.
Je vais avoir le même problème que l'OP - vieux .net 3.5 code avoir à se connecter à un service externe à l'aide de tls 1.2.
Comme mentionné dans l'acceptation de réponse il existe un patch pour tls1.2 publié par MME
Après cela, ils ont sorti un patch pour le Serveur 2008 (non R2):
https://cloudblogs.microsoft.com/microsoftsecure/2017/07/20/tls-1-2-support-added-to-windows-server-2008/
Il devrait donc être possible de mettre à niveau vers tls 1.2 pendant l'exécution du serveur 2008.