diff options
author | Wouter Tinus <win.acme.simple@gmail.com> | 2020-02-20 21:41:00 +0100 |
---|---|---|
committer | Wouter Tinus <win.acme.simple@gmail.com> | 2020-02-20 21:41:00 +0100 |
commit | 26f70caaea1deb12c9e59b94d280b11532e3b796 (patch) | |
tree | 4aab834c3b190bdecb9e2f2510ee9d7c4fef6663 /src | |
parent | 39bf891e8b9f61f98d3ec9f6fee546c220c589f2 (diff) | |
download | letsencrypt-win-simple-26f70caaea1deb12c9e59b94d280b11532e3b796.zip letsencrypt-win-simple-26f70caaea1deb12c9e59b94d280b11532e3b796.tar.gz letsencrypt-win-simple-26f70caaea1deb12c9e59b94d280b11532e3b796.tar.bz2 |
additional connection check
Diffstat (limited to 'src')
-rw-r--r-- | src/main.lib/Clients/Acme/AcmeClient.cs | 22 | ||||
-rw-r--r-- | src/main.lib/Services/ProxyService.cs | 6 |
2 files changed, 21 insertions, 7 deletions
diff --git a/src/main.lib/Clients/Acme/AcmeClient.cs b/src/main.lib/Clients/Acme/AcmeClient.cs index c13dda8..4cff3e2 100644 --- a/src/main.lib/Clients/Acme/AcmeClient.cs +++ b/src/main.lib/Clients/Acme/AcmeClient.cs @@ -13,6 +13,7 @@ using System.Diagnostics; using System.IO; using System.Linq; using System.Net.Mail; +using System.Security.Authentication; using System.Security.Cryptography; using System.Threading.Tasks; @@ -221,14 +222,25 @@ namespace PKISharp.WACS.Clients.Acme httpClient.BaseAddress = _settings.BaseUri; try { + _log.Verbose("SecurityProtocol setting: {setting}", System.Net.ServicePointManager.SecurityProtocol); _ = await httpClient.GetStringAsync("directory"); - _log.Debug("Connection OK!"); - } - catch (Exception ex) + } + catch (Exception) { - _log.Error(ex, "Error connecting to ACME server"); + _log.Warning("No luck yet, attempting to force TLS 1.2..."); + httpClient = _proxyService.GetHttpClient(sslProtocols: SslProtocols.Tls12); + httpClient.BaseAddress = _settings.BaseUri; + try + { + _ = await httpClient.GetStringAsync("directory"); + } + catch (Exception ex) + { + _log.Error(ex, "Unable to connect to ACME server"); + return; + } } - + _log.Debug("Connection OK!"); } /// <summary> diff --git a/src/main.lib/Services/ProxyService.cs b/src/main.lib/Services/ProxyService.cs index 22e0353..36c0d9f 100644 --- a/src/main.lib/Services/ProxyService.cs +++ b/src/main.lib/Services/ProxyService.cs @@ -1,6 +1,7 @@ using System; using System.Net; using System.Net.Http; +using System.Security.Authentication; namespace PKISharp.WACS.Services { @@ -25,11 +26,12 @@ namespace PKISharp.WACS.Services /// Get prepared HttpClient with correct system proxy settings /// </summary> /// <returns></returns> - public HttpClient GetHttpClient(bool checkSsl = true) + public HttpClient GetHttpClient(bool checkSsl = true, SslProtocols sslProtocols = SslProtocols.None) { var httpClientHandler = new HttpClientHandler() { - Proxy = GetWebProxy() + Proxy = GetWebProxy(), + SslProtocols = sslProtocols }; if (!checkSsl) { |