Azure B2C — Пользовательские политики — Замена сертификата Let's Encrypt на сертификат Comodo/Sectigo не допускается

Azure B2C — Пользовательские политики — Замена сертификата Let's Encrypt на сертификат Comodo/Sectigo не допускается

У меня есть клиент Azure B2C, который использует пользовательские политики для подключения к нашему собственному API. Политика в настоящее время предоставляется с сертификатом *.something.dev и истекает каждые 3 месяца. План состоит в том, чтобы заменить этот текущий сертификат сертификатом, выпущенным CA, чтобы нам не пришлось заменять сертификат 4 раза в год, а только один раз.

Однако после загрузки сертификата Comodo CA мы получаем следующую ошибку Microsoft.Cpim.Common.PolicyException.

Есть ли место, где мы могли бы установить CA или ограничения в Azure, так что это может вызвать эти проблемы? Я не помню, чтобы делал какие-либо настройки, связанные с CA в Azure.

Если мы заменим Comodo CA на сертификат Let's Encrypt, сервис снова заработает. Код на нашей стороне разрешает отпечаток обоих сертификатов, так что это не вызывает проблему.

Я уже пробовал:

  • Заменяем наш URL на веб-сервисе (перемещаем с something.test.dev на someotherdomain.com).
  • Заменены сертификаты 2048 на 4096 и наоборот.
  • Созданы новые политики (B2C_1A_EnrichmentApiClientCertificate)
  • Создал нового b2c-клиента и заново выполнил все настройки.
  • Если я переведу наш собственный API в автономный режим, я получу эту ошибку: Microsoft.Cpim.Common.Web.ConnectionExceptionпоэтому я на 100% уверен, что мы вызываем именно этот API.
  • Удалил все записи CAA, чтобы проверить, имеют ли они к этому отношение.

решение1

Ответ на этот вопрос кроется в цепочке сертификатов.

Цепочка была неправильно настроена, и в корневом хранилище на сервере были размещены некорневые сертификаты, что вызывало проблемы.

Удаление неверных сертификатов решило эту проблему.

Как мы решили эту проблему:

  • Сравнил рабочий компьютер/сервер mmc.exe с нерабочей средой и удалил несовпадающие сертификаты.

Связанный контент