获取安装在本地机器上的所有证书

逻辑桌

我有以下代码来获取证书:

X509Store store = new X509Store("??","??");
            List<X509Certificate2> lst = new List<X509Certificate2>();
            store.Open(OpenFlags.ReadOnly);

            foreach (X509Certificate2 mCert in store.Certificates)
            {

                lst.Add(mCert);
                //TODO's
            }

现在我想将所有安装在本地机器上的证书放在一个列表 <> 中,其中包含证书名称、它们的位置、用公钥或私钥颁发(仅是或否)以及包含这些证书的文件夹的名称(请参阅下面的快照):

在此处输入图片说明

使用证书详细信息填充 List<> 后,我想以网格格式显示这些数据。如何修改此代码以获取上述详细信息?

亚历克斯·安德烈耶夫

您机器上的证书存储在不同的存储区中,因此您需要将它们全部打开。请参阅那篇MSDN文章。

代码示例:

public class CertDetails
{
    public string Name { get; set; }
    public string HasPrivateKey { get; set; }
    public string Location { get; set; }
    public string Issuer { get; set; }
}

// stores and they friendly names
var stores = new Dictionary<StoreName, string>()
{
    {StoreName.My, "Personal"},
    {StoreName.Root, "Trusted roots"},
    {StoreName.TrustedPublisher, "Trusted publishers"}
    // and so on
    }.Select(s => new {store = new X509Store(s.Key, StoreLocation.LocalMachine), location = s.Value}).ToArray();

foreach (var store in stores)
    store.store.Open(OpenFlags.ReadOnly); // open each store

var list = stores.SelectMany(s => s.store.Certificates.Cast<X509Certificate2>()
    .Select(mCert => new CertDetails
    {
        HasPrivateKey = mCert.HasPrivateKey ? "Yes" : "No",
        Name = mCert.FriendlyName,
        Location = s.location,
        Issuer = mCert.Issuer
    })).ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以下载 AWS Volume 的快照并安装在我的本地机器上并从中启动吗?

来自分类Dev

在我的本地机器上安装 Wordpress 的奇怪问题

来自分类Dev

在 Nexus 上部署的自定义 Maven 插件不能用于本地机器上的项目,除非该插件安装在本地 repo 上或设置为依赖项

来自分类Dev

在本地机器上停止Quartz Job

来自分类Dev

Snakemake:SFTP本地机器上

来自分类Dev

在本地机器上运行 Kafka 脚本

来自分类Dev

无法登录我本地机器上安装的 Jenkins 应用程序

来自分类Dev

如何使用 Conda Python 在本地机器上安装和使用 mmlspark?

来自分类Dev

获取安装在solaris 11.2机器上的卷的列表

来自分类Dev

在具有 Fabric 1.0.0 生产版本的本地机器上使用 Hyperledger Composer 部署 .bna 文件时安装链码时出错

来自分类Dev

在本地机器上运行编码 UI 测试时,没有指定 Id 消息的测试

来自分类Dev

如何在现有机器上存储 Ubuntu 映像,然后使用它通过本地网络安装在一组机器上

来自分类Dev

如何在列表中获取所有共享应用程序(安装在设备上)?

来自分类Dev

如何在列表中获取所有共享应用程序(安装在设备上)?

来自分类Dev

在本地机器上加载张量流模型

来自分类Dev

如何解决本地机器上的Tomcat问题

来自分类Dev

创建地图时本地机器上的不同输出

来自分类Dev

Allure 在本地机器上生成空报告页面

来自分类Dev

Git:如何检索不再位于本地机器上的分支?

来自分类Dev

本地机器上存储的docker镜像在哪里

来自分类Dev

查询在线工作但不在本地机器上

来自分类Dev

在我的本地机器上挂载 GCE Persistent Disk

来自分类Dev

检测程序是否安装在机器上

来自分类Dev

检测程序是否安装在机器上

来自分类Dev

Ubuntu安装在损坏的Windows机器上

来自分类Dev

如何表示远端机器上的管道和本地机器上的管道

来自分类Dev

使用本地机器上的 js/html 文件读取本地文本文件

来自分类Dev

NSURLConnection:使用设备上安装的所有CA证书

来自分类Dev

我在一台服务器上却没有在本地机器上得到“模板丢失”的信息?两者都在`Master`上

Related 相关文章

  1. 1

    我可以下载 AWS Volume 的快照并安装在我的本地机器上并从中启动吗?

  2. 2

    在我的本地机器上安装 Wordpress 的奇怪问题

  3. 3

    在 Nexus 上部署的自定义 Maven 插件不能用于本地机器上的项目,除非该插件安装在本地 repo 上或设置为依赖项

  4. 4

    在本地机器上停止Quartz Job

  5. 5

    Snakemake:SFTP本地机器上

  6. 6

    在本地机器上运行 Kafka 脚本

  7. 7

    无法登录我本地机器上安装的 Jenkins 应用程序

  8. 8

    如何使用 Conda Python 在本地机器上安装和使用 mmlspark?

  9. 9

    获取安装在solaris 11.2机器上的卷的列表

  10. 10

    在具有 Fabric 1.0.0 生产版本的本地机器上使用 Hyperledger Composer 部署 .bna 文件时安装链码时出错

  11. 11

    在本地机器上运行编码 UI 测试时,没有指定 Id 消息的测试

  12. 12

    如何在现有机器上存储 Ubuntu 映像,然后使用它通过本地网络安装在一组机器上

  13. 13

    如何在列表中获取所有共享应用程序(安装在设备上)?

  14. 14

    如何在列表中获取所有共享应用程序(安装在设备上)?

  15. 15

    在本地机器上加载张量流模型

  16. 16

    如何解决本地机器上的Tomcat问题

  17. 17

    创建地图时本地机器上的不同输出

  18. 18

    Allure 在本地机器上生成空报告页面

  19. 19

    Git:如何检索不再位于本地机器上的分支?

  20. 20

    本地机器上存储的docker镜像在哪里

  21. 21

    查询在线工作但不在本地机器上

  22. 22

    在我的本地机器上挂载 GCE Persistent Disk

  23. 23

    检测程序是否安装在机器上

  24. 24

    检测程序是否安装在机器上

  25. 25

    Ubuntu安装在损坏的Windows机器上

  26. 26

    如何表示远端机器上的管道和本地机器上的管道

  27. 27

    使用本地机器上的 js/html 文件读取本地文本文件

  28. 28

    NSURLConnection:使用设备上安装的所有CA证书

  29. 29

    我在一台服务器上却没有在本地机器上得到“模板丢失”的信息?两者都在`Master`上

热门标签

归档