diff options
Diffstat (limited to 'src/main.lib/Clients/Acme/AcmeClient.cs')
-rw-r--r-- | src/main.lib/Clients/Acme/AcmeClient.cs | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/main.lib/Clients/Acme/AcmeClient.cs b/src/main.lib/Clients/Acme/AcmeClient.cs index c13dda8..63320a9 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; @@ -217,18 +218,30 @@ namespace PKISharp.WACS.Clients.Acme /// </summary> internal async Task CheckNetwork() { - var httpClient = _proxyService.GetHttpClient(); + using var httpClient = _proxyService.GetHttpClient(); 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..."); + _proxyService.SslProtocols = SslProtocols.Tls12; + using var altClient = _proxyService.GetHttpClient(); + altClient.BaseAddress = _settings.BaseUri; + try + { + _ = await altClient.GetStringAsync("directory"); + } + catch (Exception ex) + { + _log.Error(ex, "Unable to connect to ACME server"); + return; + } } - + _log.Debug("Connection OK!"); } /// <summary> |