Dans une tentative effrontée de voler quelques votes, SecurityProtocol
est une Enum
avec l'attribut [Flags]
. Ainsi, vous pouvez faire ceci :
[Net.ServicePointManager]::SecurityProtocol =
[Net.SecurityProtocolType]::Tls12 -bor `
[Net.SecurityProtocolType]::Tls11 -bor `
[Net.SecurityProtocolType]::Tls
Ou comme il s'agit de PowerShell, vous pouvez le laisser analyser une chaîne pour vous :
[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
Alors vous n'avez pas vraiment besoin de connaître la version de TLS.
J'ai copié-collé cela d'un script que j'ai créé après avoir lu cette réponse car je ne voulais pas parcourir tous les protocoles disponibles pour en trouver un qui fonctionne. Bien sûr, vous pourriez le faire si vous le vouliez.
Note finale - J'ai la déclaration originale (moins les modifications SO) dans mon profil PowerShell donc elle est présente dans chaque session que je démarre maintenant. Ce n'est pas totalement infaillible puisqu'il y a encore certains sites qui échouent mais je vois certainement le message en question beaucoup moins fréquemment.
2 votes
Voir aussi Protocole de sécurité par défaut dans .NET 4.5.