我想在Web角色(在v1.3 Azure SDK开发结构上运行)中枚举来自Azure的证书,但在使用以下代码时没有返回证书。这是需要注意的重要的,但是,从一个控制台程序运行时代码工作正常:证书问题(安全相关?!?)
private static void EnumCerts()
{
var selectedCerts = new X509Certificate2Collection();
var store = new X509Store(
StoreName.My, StoreLocation.CurrentUser);
try
{
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
foreach (X509Certificate2 cert in store.Certificates)
Console.WriteLine(cert.Subject);
}
finally
{
store.Close();
}
}
我的工作假设是,这是由于安全问题。我的Web角色正在运行Elevated Trust,但我猜IIS Web实例不是。
在这两种情况下,我不知道如何解决这个问题,所以任何帮助,将不胜感激......
感谢您的快速响应!我的印象是,天青只存储在CurrentUser存储证书(如http://blogs.msdn.com/b/jnak/archive/2010/01/29/installing-certificates-in-windows-azure-描述下vms.aspx)。我会上传一个实验网站来测试你的理论 – 2011-02-15 23:28:06