我需要填充系统证书。相同的源代码告诉我在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>");
答案 0 :(得分:0)
IIS和VS调试程序在不同的用户凭据下运行。因此IIS无法加载证书。这是我的解决方法:
我将制作一个命令行工具run it as user
答案 1 :(得分:0)
ASP.NET Impersonation有助于加载用户的证书。
P.S:System.Security.Principal.WindowsIdentity.GetCurrent()。Name获取用户名。