如何在Windows Azure上获得代码证书

时间:2011-04-14 10:34:51

标签: .net azure certificate x509certificate wif

我正在尝试创建我们自己的WIF身份提供程序并在Azure上运行它,但在尝试自动生成联合元数据时,我正在努力。

此行似乎不适用于Azure:

CertificateUtil.GetCertificate(StoreName.My, StoreLocation.LocalMachine, signingCertificateName);

证书上传到Azure,我该如何获取它?

由于

2 个答案:

答案 0 :(得分:9)

作为其他答案的略微变化,如果您只想获得一个证书而不是遍历所有证书,您可以执行以下操作:

var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);

store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

X509Certificate2Collection matchedCertificates =
     store.Certificates.Find(X509FindType.FindBySubjectName, signingCertificateName, true);

if (matchedCertificates.Count > 0)
{
    myCertificate = matchedCertificates[0]; 
}

(也不是特定于Azure的)

答案 1 :(得分:7)

试试这篇博文: http://blogs.msdn.com/b/jnak/archive/2010/01/29/installing-certificates-in-windows-azure-vms.aspx

建议代码如下:

X509Certificate2Collection selectedCerts = new X509Certificate2Collection();

X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
foreach (X509Certificate2 cert in store.Certificates)
{
    // do stuff with cert
}