API Management [Client to API] аутентификация клиента - PullRequest
0 голосов
/ 25 апреля 2018

Во-первых, этот вопрос касается клиента для APIM, а не APIM для серверной части.

Я успешно настроил Политику обработки входящих событий, чтобы она проверяла сертификат клиента с помощью подхода when condition = "@ (context.Request.Certificate.Thumbprint! =" XXXXXXX ").

На этом этапе клиент использовал купленный сертификат одного из доверенных сертификатов Microsoft.

Теперь клиент хочет перейти на предоставление самозаверяющего сертификата.

После отправки самозаверяющего сертификата кажется, что объект context.request.certificate является нулевым, когда представлен в политику.

Я загрузил тот же сертификат в объект X509Certificate2 (через импорт), и возвращается недопустимая ошибка корневого ЦС, что понятно, поскольку я не загружен в мое хранилище доверенных ЦС.

Для получения информации на данный момент сертификат содержит CA, промежуточный сертификат и сертификат клиента.

Если я экспортирую только клиентский сертификат из файла p7b и загружу его в объект X509Certificate2, он будет работать как положено - поэтому объект X509Certificate2 не вызывает проверку цепочки, что, я думаю, будет сделано программно.

Я сталкивался с атрибутом skipCertificateChainValidation, но в контексте документации предполагается, что это APIM для внутренних вызовов.

...