0

我正在尝试使用以下配置在我的 Web 应用程序中使用在 azure 网站(不是 webrole)中上传的证书

<microsoft.identityModel>
<!-- Service Configuration -->
<service>
  <serviceCertificate>
    <certificateReference findValue="2696C50B72CB368AEB11DE3B23CD226252A1BFD" storeLocation="CurrentUser" storeName="My" x509FindType="FindByThumbprint"/>       
  </serviceCertificate>
  <certificateValidation certificateValidationMode="None"/>
</service>

代码在本地系统上运行良好。但是我在部署到天蓝色网站时收到错误消息。

ID1024 The configuration property value is not valid 
ID1025 Cannot find a unique certificate that matches the criteria

然后我尝试浏览我的 azure 网站中的所有证书(使用代码)。但是证书列表不包含我上传的证书。

证书已上传,可在 Azure 门户中查看。映射自定义域,并针对域使用上传的证书。但不知何故,我的网络应用程序无法找到证书。我尝试了 StoreName 和 StoreLocation 的所有可能组合,但徒劳无功。

4

1 回答 1

0

我认为您通过网站的配置选项卡上传的证书的用途可能有些混乱。目前加载的证书仅用于 SSL。

查看配置选项卡上证书部分旁边的小帮助图标时,工具提示会显示以下内容:

"本部分允许您管理可以绑定到您的自定义域名的 SSL 证书。将 SSL 证书绑定到您的自定义域名将允许您的最终用户通过 HTTPS 访问您的站点。 "

Windows Azure 网站存在于进程级别,这意味着它们可以在一台机器上启动,但随着进程的上下移动而移动。如果您对此不熟悉,我建议您阅读有关托管模型如何为网站工作的内容。这是一篇涵盖它的文章:Windows Azure 网站 - Windows Azure 的新托管模型(完全披露:我写了这篇文章)。

在此处加载证书 我认为不会将证书添加到运行您的网站的机器上的任何商店中。Windows Azure 需要确保证书始终在站点部署到的机器上,因为这只是在进程级别并且可以经常更改(除非您使用标准),因此没有任何意义。SSL 证书的处理方式不同,据我所知并没有真正部署到每台机器上。

据我所知,为了让您加载证书并使用它,您需要查看一个 Web 角色,其中从门户加载的证书被放置到 VM 上的存储中,或者查看您是否可以加载在代码中手动证书并将证书作为内容发送到您的网站(这对我来说似乎不太安全)。不过,我可能只是忽略了一个选项。

于 2013-10-09T12:20:57.197 回答