在Azure上部署Web服务后,我无法引用x.509证书。我得到的错误是:
使用以下搜索条件找不到X.509证书:StoreName'My',StoreLocation'LocalMachine', FindType'FindByThumbprint',FindValue'd50d00762ab0b5bfa2ccd51122360e89ff5db55e'
我尝试了各种StoreName和Location排列,但没有成功。 部分配置如下:
<behaviors>
<endpointBehaviors>
<behavior name="ClientCredentialsBehavior">
<clientCredentials>
<clientCertificate findValue="D50D00762AB0B5BFA2CCD51122360E89FF5DB55E" storeLocation="LocalMachine" storeName="TrustedPeople" x509FindType="FindByThumbprint"/>
<serviceCertificate>
<defaultCertificate findValue="E194EBAAFBE5129D097795751127D21577293A87" storeLocation="LocalMachine" storeName="TrustedPeople" x509FindType="FindByThumbprint"/>
</serviceCertificate>
</clientCredentials>
</behavior>
如何在azure上解决此错误。请帮助我,我现在花了几个小时试图解决这个问题。谢谢。
答案 0 :(得分:1)
要解决您遇到的问题,请确保证书已在云服务中上传,并且该证书在云服务配置文件(csdef / cscfg)中引用。请参阅此链接,了解如何执行此操作:https://docs.microsoft.com/en-us/azure/cloud-services/cloud-services-configure-ssl-certificate#step-2-modify-the-service-definition-and-configuration-files。
现在来了解释:)。
如您所知,云服务是PaaS产品。因此,您需要告诉您的应用程序需要使用在云服务中上载的证书的Fabric Controller(它可以创建您的VM,安装您的应用程序并进行所有配置更改)。
将其告知Fabric Controller的方式是在服务定义文件/服务配置文件中指定证书详细信息(如证书指纹)。您还可以告诉Cloud Service VM在哪个证书存储中,您希望Fabric Controller安装证书。
Fabric Controller获取此信息后,在创建VM时,它将转到已在云服务中上载的证书,根据指纹查找匹配的证书,并在Cloud Service VM中安装该证书。由于您未在服务定义/配置文件中指定此项,因此您的云服务VM上从未安装过该证书。