我正在尝试在虚拟机上使用此代码查找证书。
X509Store certificateStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
certificateStore.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certs = certificateStore.Certificates.Find(X509FindType.FindByThumbprint, certThumb, false);
if (certs.Count == 0)
{
Console.WriteLine("Couldn't find the certificate with thumbprint:" + certThumb);
return;
}
certificateStore.Close();
我已使用Cert Manager在Personal文件夹中导入证书。
此代码适用于我的本地计算机。但它不适用于虚拟机(这里我也正确导入了证书)。不知道可能是什么问题。
请帮帮我。
答案 0 :(得分:0)
我猜测(从您之前的问题和此问题)您正在尝试从您的角色运行Service Management API操作。您收到此错误的原因是因为您的应用程序在虚拟机中运行的用户帐户没有证书存储区的权限。请查看此博客文章,其中介绍了如何从Web /辅助角色使用Service Management API:http://blogs.msdn.com/b/asgoyal/archive/2013/07/23/consuming-service-management-api-from-web-worker-role.aspx