如何在IIS下填充系统证书?

时间:2013-02-20 07:16:38

标签: c# ssl ssl-certificate x509certificate digital-certificate

我需要填充系统证书。相同的源代码告诉我在VS下调试时证书计数正确。当我在IIS 7.5 Windows 7下运行代码时,.Count始终返回0.是否有任何权限问题?为什么计数返回0?

        System.Security.Cryptography.X509Certificates.X509Store store = new System.Security.Cryptography.X509Certificates.X509Store(System.Security.Cryptography.X509Certificates.StoreName.My);
        store.Open(System.Security.Cryptography.X509Certificates.OpenFlags.ReadOnly);
        Response.Write("<hr>Certs count: " + store.Certificates.Count.ToString() + "<br>");

2 个答案:

答案 0 :(得分:0)

IIS和VS调试程序在不同的用户凭据下运行。因此IIS无法加载证书。这是我的解决方法:

我将制作一个命令行工具run it as user

答案 1 :(得分:0)

ASP.NET Impersonation有助于加载用户的证书。

P.S:System.Security.Principal.WindowsIdentity.GetCurrent()。Name获取用户名。