我希望使用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服务器时,链是有效的
您必须确保根证书和中间证书分别上传。此外,您的主机证书已激活检查以协商证书,这将启用您的验证策略