Enable TLS 1.1/1.2 on outdated versions

pull/394/head
NextTurn 2020-02-01 00:00:00 +08:00
parent e06ae851f4
commit ce7b6078f9
No known key found for this signature in database
GPG Key ID: 17A0D50ADDE1A0C4
1 changed files with 29 additions and 0 deletions

View File

@ -3,6 +3,9 @@ using System.IO;
using System.Net;
using System.Text;
using System.Xml;
#if !VNEXT
using log4net;
#endif
using winsw.Util;
namespace winsw
@ -20,6 +23,10 @@ namespace winsw
basic
}
#if !VNEXT
private static readonly ILog Logger = LogManager.GetLogger(typeof(Download));
#endif
public readonly string From;
public readonly string To;
public readonly AuthType Auth = AuthType.none;
@ -30,6 +37,28 @@ namespace winsw
public string ShortId => $"(download from {From})";
#if !VNEXT
static Download()
{
const SecurityProtocolType Tls12 = (SecurityProtocolType)0x00000C00;
const SecurityProtocolType Tls11 = (SecurityProtocolType)0x00000300;
// Windows 7 and Windows Server 2008 R2
if (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor == 1)
{
try
{
ServicePointManager.SecurityProtocol |= Tls11 | Tls12;
Logger.Info("TLS 1.1/1.2 enabled");
}
catch (NotSupportedException)
{
Logger.Info("TLS 1.1/1.2 disabled");
}
}
}
#endif
// internal
public Download(
string from,