Итак, я перехожу по этой ссылке: 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 недействительный сертификат клиента". И в почтальоне я добавил сертификаты, но получаю ту же ошибку при отправке запроса на получение.
Я сделал самоподписанный сертификат с помощью openssl и преобразовал его в .key, .crt и .pfx. Я читал и другие связанные темы, но я не нашел никакого решения этой проблемы. Я не знаю, являюсь ли я делаю это неправильно или я что-то упускаю. Пожалуйста, помогите мне с этим. Спасибо.