From e43778c505acf261755a5c4207c9158246179957 Mon Sep 17 00:00:00 2001 From: xljiulang <366193849@qq.com> Date: Thu, 29 Jul 2021 23:34:24 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=B8=85=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E7=9A=84FastGithub=E8=AF=81=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KestrelServerOptionsExtensions.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/FastGithub.ReverseProxy/KestrelServerOptionsExtensions.cs b/FastGithub.ReverseProxy/KestrelServerOptionsExtensions.cs index 0d4731a..ab77cc0 100644 --- a/FastGithub.ReverseProxy/KestrelServerOptionsExtensions.cs +++ b/FastGithub.ReverseProxy/KestrelServerOptionsExtensions.cs @@ -135,14 +135,23 @@ namespace FastGithub try { - var caCert = new X509Certificate2(caPublicCerPath); using var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); + + var caCert = new X509Certificate2(caPublicCerPath); + var subjectName = caCert.Subject[3..]; + foreach (var item in store.Certificates.Find(X509FindType.FindBySubjectName, subjectName, false)) + { + if (item.Thumbprint != caCert.Thumbprint) + { + store.Remove(item); + } + } if (store.Certificates.Find(X509FindType.FindByThumbprint, caCert.Thumbprint, true).Count == 0) { store.Add(caCert); - store.Close(); } + store.Close(); } catch (Exception) {