【Azure 应用服务】应用代码中需要使用客户端证书访问服务接口,部署在应用服务后报错不能找到证书(Cannot find the X.509 certificate)

问题描述

在应用中,需要访问另一个服务接口,这个接口需要使用客户端证书进行认证。在代码中使用 System.Security.Cryptography.X509Certificates 加载Window系统中 Current User\My 下的证书。

然后把证书通过App Service门户页面上传。

但是,在访问应用时候,还是报错不能发现证书指纹

Cannot find the X.509 certificate using the following search criteria: StoreName 'My', StoreLocation 'CurrentUser', FindType 'FindByThumbprint', FindValue 'AAC***********************9F63EB' 

 

问题分析

根据对官方文档分析,得出一个结论,为了使运行在App Service实例上的应用能够读取到实例(如 Windows)中的证书,必须配置一个应用设置。WEBSITE_LOAD_CERTIFICATES 

  • 如果只有一个证书,就为 WEBSITE_LOAD_CERTIFICATES  设置 证书指纹值。
  • 如果有多个证书,WEBSITE_LOAD_CERTIFICATES  设置为  * 

问题即可解决!

 

 

参考资料

 

posted @ 2023-02-24 20:34  路边两盏灯  阅读(73)  评论(0编辑  收藏  举报