证书 VerifyNoRevocation() 在 Azure APIM 中返回 false - 幕后发生了什么?

问题描述

我正在使用来自 API ManagementMicrosoft 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

  1. 我有两个证书颁发者,他们拥有相同的 ROOT 证书。
  2. 问题只出现在发行人之一!

这是否意味着,错误与 Issuer 有关?

问题 2

执行以下行时,它使用的是 APIM 存储中的哪个公共证书?因为我在商店上传了多个证书。

      context.Request.Certificate.Verifynorevocation()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)