c# - 在本地商店找不到证书

标签 c# certificate x509

我已经按照这些说明安装了 x509 证书; http://www.vandyke.com/products/vshell/docs/windows/Use_X.509_Certificates.htm 这会将其安装到受信任的根证书颁发机构存储区 AuthRoot 中。 试图找到证书时; 打开商店:X509Store store = new X509Store(StoreName.AuthRoot) 循环,找到一个带有 X 指纹的。当它安装到受信任的根证书授权存储中时,这工作正常。

当我尝试执行相同操作但将其安装到个人商店时,将打开商店更改为 X509Store store = new X509Store(StoreName.My) 我找不到证书。

查看 certmgr,我可以在个人->证书下看到它。

IIS7是否需要配置个人证书?任何人都可以帮助解释我所缺少的吗?

最佳答案

对于受信任的根证书颁发机构,它是 StoreName.Root,而不是 StoreName.AuthRoot。

对于个人商店,您必须使用带有 StoreLocation 参数的 X509Store 构造函数才能使用本地计算机个人商店,否则您将在当前用户个人商店中搜索。

尝试:

var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);

关于c# - 在本地商店找不到证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5459740/

相关文章:

java - 获取所有主机名匹配证书的列表

java - 在 Java 中针对 CA 验证 X.509 证书

c# - 为什么 AutoFac 的 AsImplementedInterfaces 在另一种类型上会破坏我的解析器?

c# - 是否值得保存 typeof() 调用的结果以供多次使用?

c# - 当影响经度、纬度到位置时,输入字符串的格式不正确

security - ActiveMQ 和客户端通过证书身份验证身份

windows - OpenSSL: PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE

javascript - 从 JavaScript 客户端发送到 .NET 的字符串格式的 UTC 日期正在转换为 DateTime

c - 将 AuthorityKeyIdentifier 添加到 CertRequest

c# - 在哪里存储 Windows 服务的 X509 证书?