C#获取本地计算机证书信息

X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);//获取本地计算机受信任的根证书的储存区
public enum StoreName
AddressBook  1  其他用户的 X.509 证书存储区。
AuthRoot  2  第三方证书颁发机构 (CA) 的 X.509 证书存储区。
CertificateAuthority  3  中间证书颁发机构 (CA) 的 X.509 证书存储区。
Disallowed  4  吊销的证书的 X.509 证书存储区。
My  5  个人证书的 X.509 证书存储区。
Root  6  受信任的根证书颁发机构 (CA) 的 X.509 证书存储区。
TrustedPeople  7  直接受信任的人和资源的 X.509 证书存储区。
TrustedPublisher  8  直接受信任的发行者的 X.509 证书存储区。

public enum StoreLocation
CurrentUser  1  当前用户使用的 X.509 证书存储区。
LocalMachine  2  分配给本地计算机的 X.509 证书存储区。

store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
[System.Flags]
public enum OpenFlags
IncludeArchived  8  打开 X.509 证书存储区并添加存档证书。
MaxAllowed  2  以允许最高级访问的方式打开 X.509 证书存储区。
OpenExistingOnly  4  仅打开现有存储区。如果不存在任何存储区,Open(OpenFlags) 方法不会创建新的存储区。
ReadOnly  0  以只读方式打开 X.509 证书存储区。
ReadWrite  1  以读写方式打开 X.509 证书存储区。
ReadOnly、 ReadWrite 和 MaxAllowed 标志互相排斥。 OpenExistingOnly标志是唯一不需要 StorePermissionFlags.CreateStore 授予权限的标志。

X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;//获取储存区上的所有证书
X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByIssuerName, "aliyun", false);//找到所有aliyun颁发的证书
X509Certificate2Collection fcollection = (X509Certificate2Collection)collection;//找到所有本地的个人证书

原文地址:https://www.cnblogs.com/victor963/p/13936690.html