我想在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