Получение "403 Invalid client certificate" в Azure APIM, а также от почтальона - PullRequest
0 голосов
/ 28 мая 2020

Итак, я перехожу по этой ссылке: https://docs.microsoft.com/en-gb/azure/api-management/api-management-howto-mutual-certificates-for-clients. И я добавил две политики:

1) Проверка отпечатка пальца ( Для входящего запроса, содержащего сертификаты )

<choose>
    <when condition="@(context.Request.Certificate == null || !context.Request.Certificate.Verify() || context.Request.Certificate.Thumbprint != "DESIRED-THUMBPRINT-IN-UPPER-CASE")" >
        <return-response>
            <set-status code="403" reason="Invalid client certificate" />
        </return-response>
    </when>
</choose>

2) Проверка отпечатка пальца на сертификаты, загруженные в Управление API ( Я загрузил самоподписанный сертификат в раздел «сертификаты» в APIM )

<choose>
<when condition="@(context.Request.Certificate == null || !context.Request.Certificate.Verify()  || !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>

Теперь, когда я пытаюсь отправить запрос на получение из APIM в azure, я столкнулся с ошибкой "403 недействительный сертификат клиента". И в почтальоне я добавил сертификаты, но получаю ту же ошибку при отправке запроса на получение.

enter image description here

Я сделал самоподписанный сертификат с помощью openssl и преобразовал его в .key, .crt и .pfx. Я читал и другие связанные темы, но я не нашел никакого решения этой проблемы. Я не знаю, являюсь ли я делаю это неправильно или я что-то упускаю. Пожалуйста, помогите мне с этим. Спасибо.

...