From b04fe360d8985802d5500fe5cf41d422b0d52e07 Mon Sep 17 00:00:00 2001 From: nzdev <834725+nzdev@users.noreply.github.com> Date: Mon, 30 Aug 2021 12:19:21 +1200 Subject: [PATCH] Dispose certficate handle --- .../HealthCheck/Checks/Security/HttpsCheck.cs | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/Umbraco.Web/HealthCheck/Checks/Security/HttpsCheck.cs b/src/Umbraco.Web/HealthCheck/Checks/Security/HttpsCheck.cs index 18d27ba028..15906af96a 100644 --- a/src/Umbraco.Web/HealthCheck/Checks/Security/HttpsCheck.cs +++ b/src/Umbraco.Web/HealthCheck/Checks/Security/HttpsCheck.cs @@ -92,24 +92,26 @@ namespace Umbraco.Web.HealthCheck.Checks.Security // Hat-tip: https://stackoverflow.com/a/15343898/489433 const int NumberOfDaysForExpiryWarning = 14; var cert = request.ServicePoint.Certificate; - var cert2 = new X509Certificate2(cert); - var expirationDate = cert2.NotAfter; + using (var cert2 = new X509Certificate2(cert)) + { + var expirationDate = cert2.NotAfter; - var daysToExpiry = (int)Math.Floor((cert2.NotAfter - DateTime.Now).TotalDays); - if (daysToExpiry <= 0) - { - result = StatusResultType.Error; - message = _textService.Localize("healthcheck", "httpsCheckExpiredCertificate"); - } - else if (daysToExpiry < NumberOfDaysForExpiryWarning) - { - result = StatusResultType.Warning; - message = _textService.Localize("healthcheck", "httpsCheckExpiringCertificate", new[] { daysToExpiry.ToString() }); - } - else - { - result = StatusResultType.Success; - message = _textService.Localize("healthcheck", "httpsCheckValidCertificate"); + var daysToExpiry = (int)Math.Floor((cert2.NotAfter - DateTime.Now).TotalDays); + if (daysToExpiry <= 0) + { + result = StatusResultType.Error; + message = _textService.Localize("healthcheck", "httpsCheckExpiredCertificate"); + } + else if (daysToExpiry < NumberOfDaysForExpiryWarning) + { + result = StatusResultType.Warning; + message = _textService.Localize("healthcheck", "httpsCheckExpiringCertificate", new[] { daysToExpiry.ToString() }); + } + else + { + result = StatusResultType.Success; + message = _textService.Localize("healthcheck", "httpsCheckValidCertificate"); + } } } else