客户证书已从APIM中删除,但仍被接受

时间:2018-10-19 22:40:32

标签: azure azure-api-management

我正在按照here所述在Azure API管理中使用客户端证书来保护对API的访问:

<choose>
  <when condition="@(context.Request.Certificate == null || !context.Deployment.Certificates.Any(c => c.Value.Thumbprint == context.Request.Certificate.Thumbprint))" >
    <return-response>
        <set-status code="403" reason="Invalid client certificate" />
    </return-response>
  </when>
</choose>

到目前为止,一切正常。

但是:在我上传了客户端证书,并测试了使用该证书(有效)访问API后,我从APIM中删除了该证书。现在,我希望我不再能够访问API,但仍然可以使用。 APIM的后台中是否存在一些缓存等,因此可能需要一段时间才能使证书不再被接受?

2 个答案:

答案 0 :(得分:0)

首先,请确保在Azure API管理门户中确认已删除的证书。看来问题是已知的,您可以更改策略以强制从APIM上的运行时删除证书。

答案 1 :(得分:0)

(我无法评论现有答案,因此添加新答案)

正如Kedar Joshi所述,这是一个已知的错误,我们计划在接下来的几周内修复该错误。不幸的是,更新策略的变通办法不适用于已删除的证书。 有效但较不方便的解决方法是将指纹列表保留在策略中,而不是通过context.Deployment.Certificates枚举。 没有相关的错误报告。解决问题后,相应的公告将显示在https://azure.microsoft.com/en-gb/updates/?product=api-management