如何解决如何在Windows Azure上的代码中获取证书
| 我正在尝试创建我们自己的WIF身份提供程序,并在Azure上运行它,但是在尝试自动生成联合身份验证元数据时,我很费劲。 此行似乎不适用于Azure:CertificateUtil.GetCertificate(StoreName.My,StoreLocation.LocalMachine,signingCertificateName);
该证书已上载到Azure,我如何获得它?
谢谢
解决方法
试试这个博客文章:
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
}
,与其他答案略有不同,如果您只想获得一个证书而不是遍历所有证书,则可以执行以下操作:
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的)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。