首页 > 解决方案 > 在 c# 中列出 SSL 证书(重新创建 IIS 绑定对话框)

问题描述

我正在尝试列出 IIS 绑定对话框中列出的 SSL 证书 - 但无法。我在它周围跳舞,谁能告诉我它们存放在哪里?(我在下面剪断的代码不是 1:1 匹配的——我不知道它们在哪家商店)。

在此处输入图像描述

X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
foreach (var x in store.Certificates)
{
     radDropDownListIISCert.Items.Add(new RadListDataItem(x.FriendlyName, x.SerialNumber));
}

标签: c#iisssl-certificate

解决方案


他们在StoreLocation.LocalMachine。另外,X509Storeimplements IDisposible,所以它应该被包装在一个using语句中。

using (var store = new X509Store(StoreName.My, StoreLocation.LocalMachine))
{
     store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
     foreach (var x in store.Certificates)
     {
          radDropDownListIISCert.Items.Add(new RadListDataItem(x.FriendlyName, x.SerialNumber));
     }
}

推荐阅读