Azure API 管理不验证证书链



我希望使用Azure API管理资源和客户端证书来保护我的服务。

根据以下文档,我在CA证书中以root身份上传了我的自签名root证书。

在API政策中,我要求进行证书验证:

<when condition="@(!context.Request.Certificate.VerifyNoRevocation())">
<return-response>
<set-status code="403" reason="Not verified certificate" />
</return-response>
</when>

根CA不是客户端证书的颁发者:我有两个中间CA:Root => Inter1 => Inter2 => Client

所以我使用curl提供了链。

curl --cert-type pem --cacert full-chain.pem --cert user.crt --key user.key https://my-api-management-url -i

但是APIM似乎没有使用所提供的链来针对上传的根CA进行验证。我唯一一次通过检查是在APIM中放入Inter2作为CA证书。

是否有允许APIM使用所提供链的设置,或者APIM是否只能检查CA是否是客户端证书的颁发者?

有关信息,当我尝试使用相同的Root CA和相同的curl命令(当然只是更改URL(调用NginX服务器时,链是有效的

您必须确保根证书和中间证书分别上传。此外,您的主机证书已激活检查以协商证书,这将启用您的验证策略

最新更新