问题描述
我正在使用来自 API Management
的 Microsoft Azure
服务,并制定了以下政策。
<choose>
<when condition="@(context.Request.Certificate == null || context.Request.Certificate.Issuer != "CN=MyCompany,OU=MyProject,O=MyOrganization,L=Daniel,S=IND,C=KAR" || context.Request.Certificate.NotAfter < DateTime.Now)">
<return-response>
<set-status code="403" reason="Invalid client certificate" />
<set-body template="none">Invalid client certificate</set-body>
</return-response>
</when>
</choose>
这工作正常,但是,当我将下面的部分添加到上面的代码时,它失败了
context.Request.Certificate.Verifynorevocation() != true
实际发生了什么?证书是否在吊销列表中失败?
MyCompany.Main.BusinessLogic.Webapiclients.ComparisonAsyncclient [(null)] - 数据 Web API 错误。 GetCustomerIds:操作返回无效状态代码“禁止”; 403
问题 1
- 我有两个证书颁发者,他们拥有相同的
ROOT
证书。 - 问题只出现在发行人之一!
这是否意味着,错误与 Issuer 有关?
问题 2
执行以下行时,它使用的是 APIM 存储中的哪个公共证书?因为我在商店上传了多个证书。
context.Request.Certificate.Verifynorevocation()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)