加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 上载到Azure网站时不在X509Store中的SSL证书

发布时间:2020-12-15 08:19:35 所属栏目:百科 来源:网络整理
导读:我使用管理门户上载证书将.pfx安装到我的Azure网站. 我现在正尝试使用以下代码访问它们: X509Store store = new X509Store(StoreName.My,StoreLocation.LocalMachine);certificateStore.Open(OpenFlags.ReadOnly);var certificates = certificateStore.Cert
我使用管理门户上载证书将.pfx安装到我的Azure网站.

我现在正尝试使用以下代码访问它们:

X509Store store = new X509Store(StoreName.My,StoreLocation.LocalMachine);
certificateStore.Open(OpenFlags.ReadOnly);
var certificates = certificateStore.Certificates;

StringBuilder sb = new StringBuilder();

foreach (var certificate in certificates)
{
   sb.AppendLine(certificate.Subject);                
}

发布到Azure时,会列出一堆证书,但不会列出我上传的证书.

列出的证书在这里:

CN=WW.azurewebsites.windows.net,OU=CIS(RD),O=Microsoft
CN=FullOSTransport
CN=client.geo.to.stamp.azurewebsites.windows.net
CN=ma.waws-prod-am2-005.azurewebsites.windows.net,OU=OrganizationName,O=Microsoft,L=Redmond,S=WA,C=US
CN=FullOSTransport
CN=FullOSTransport

我从Verisign购买了证书,它似乎已正确上传,并且显示在浏览器的“HTTPS”栏中(在Chrome中).

任何帮助都会非常感激,因为我在这里不知所措.

更新

看起来我们需要转换为Cloud Service才能使上述代码正常工作.但我可以按照此处的建议将证书添加到我的app_data文件夹吗?

http://blog.tylerdoerksen.ca/2015/11/29/pfx-certificate-files-and-azure-web-apps/

这似乎适用于Azure-Websites而不使用Web角色.

谢谢

解决方法

我遇到过类似的问题,下面是适合我的解决方案.

解:

一旦您通过Azure门户上传了证书,您需要添加名为WEBSITE_LOAD_CERTIFICATES的appsetting(也通过门户网站),并将此值设置为您上载的证书的指纹.如果您愿意,这可以是以逗号分隔的多个指纹列表,甚至*可以加载所有上传的证书

然后使用以下代码加载您的证书.

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

store.Open(OpenFlags.ReadOnly);

var certs = store.Certificates.Find(X509FindType.FindByThumbprint,YOUR_THUMBPRINT,false);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读