Почему ADAL говорит, что сертификат отклонен в ответ на прокси-сервер Charles?

Я использую ADAL (сторонняя реализация OAuth2.0). Я пытаюсь собрать следы общения, используя Чарльза в качестве прокси. То, что я представляю, происходит (ни на что не полагаясь):

  1. ADAL запрашивает сертификат у Управления через Чарльза
  2. Чарльз запрашивает сертификат у органа и передает его в ADAL.
  3. ADAL хочет открыть SSL-канал с Администрацией, но на самом деле открывает его с Чарльзом.
  4. Чарльз открывает канал SSL с центром и перенаправляет любые запросы/ответы в ADAL.

Однако ADAL отклоняет сертификат центра. Насколько я знаю, сертификаты передаются в незашифрованном виде. Итак, если я был прав в описании всех вышеперечисленных шагов, откуда ADAL знает, что сущность, с которой он разговаривает, на самом деле не является Органом, с которым он должен разговаривать?


person Shmoopy    schedule 12.10.2014    source источник


Ответы (1)


ADAL на самом деле не смотрит на сертификат центра — он проверяет, является ли канал, используемый для подключения к нему, доверенным. Наличие прокси-сервера может нарушить доверие канала SSL. Если я хочу подключиться через SSL к www.domain.com, я ожидаю, что сертификат, используемый для установления канала, будет в моих доверенных центрах, чтобы у него был субъект, содержащий www.domain.com, все еще в течение срока его действия, и так далее. Я не знаком с Чарльзом, но думаю, что с точки зрения ADAL это может выглядеть как атака с перенаправлением DNS. Вы можете отключить проверку полномочий в конструкторе AuthenticationContext, если вам нужно выполнить быстрый тест, но я бы настоятельно не рекомендовал делать это в рабочем коде.

ХТ В.

person vibronet    schedule 13.10.2014