在.NET Core中檢查證書的到期日期

  • 2020 年 4 月 11 日
  • 筆記

在 NUnit 測試中,我需要檢查證書的有效期。 下面的程式碼片段可用於使用自定義證書驗證回調檢查任何證書屬性。 所有你需要做的就是在回調中讀取你感興趣的屬性,這樣你就可以在之後檢查它們。

 

DateTime notAfter = DateTime.UtcNow;    var httpClientHandler = new HttpClientHandler  {      ServerCertificateCustomValidationCallback = (request, cert, chain, policyErrors) =>      {          notAfter = cert.NotAfter;          return true;      }  };    using HttpClient httpClient = new HttpClient(httpClientHandler);  await httpClient.SendAsync(new HttpRequestMessage(HttpMethod.Head, url));    Assert.IsTrue(notAfter > DateTime.UtcNow.AddDays(60));

這段程式碼只依賴於:

using NUnit.Framework;  using System;  using System.Net.Http;  using System.Threading.Tasks;