Как заставить Fiddler HTTPS Decryption работать с отказоустойчивыми приложениями? - PullRequest
1 голос
/ 25 апреля 2020

Fiddler отлично работает для расшифровки HTTPS-запроса во многих приложениях и браузерах, но есть только одно приложение, которое просто отказывается работать, когда Fiddler включен, и работает нормально, когда Fiddler выключен.

Я слышал, что это происходит из-за того, что некоторые приложения выполняют "закрепление сертификата", что означает, что они "используют специальный сертификат и не будут работать с Fiddler root cert" (Перефразируя this ).

Когда я открываю приложение, о котором идет речь, я получаю это сообщение в Fiddler enter image description here

Если я скажу «да», несколько запросов приложения получат, но вскоре после этого приложение перестанет работать, как если бы не было inte rnet соединения.

1 Ответ

1 голос
/ 25 апреля 2020

Это предупреждение не имеет ничего общего с закреплением сертификата.

Обычно SSL / TLS работает таким образом, что вы покупаете или получаете сертификат для своего сервера в одном из всемирных центров сертификации, которому доверяют общие платформы / ОС. Исключая Let's Encrypt CA, получение сертификата обычно стоит денег.

Для веб-сайтов это обязательный шаг, поскольку вы не можете контролировать, какой веб-браузер в какой ОС используют люди, посещающие ваш сайт.

Однако, если есть только ваше приложение, которое использует На вашем сервере некоторые разработчики пропускают этот шаг, чтобы получить сертификат от общего центра сертификации (CA). Это экономит деньги, которые они должны были бы потратить на CA. Вместо этого они используют самозаверяющий сертификат на сервере и включают в приложение сертификат publi c (и помечают его как доверенный в приложении).

При использовании самозаверяющего сертификата его также можно использовать для выполнения закрепления сертификата или root -CA. Однако этот шаг является необязательным и не выполняется автоматически для приложений, которые используют серверы с самоподписанными сертификатами.

В диалоговом окне, показанном в вопросе, указано, что приложение использует сервер, который использует самоподписанный сертификат (или в хотя бы сертификат, подписанный неизвестным и, следовательно, ненадежным центром сертификации).

Странно то, что сервер работает на 127.0.0.1 (localhost). Следовательно, похоже, что приложение использует HTTPS для связи между несколькими процессами, работающими в вашей системе.

Если вас не интересует трафик c этого приложения, я бы порекомендовал вам исключить localhost (127.0 .0.1) traffi c в Fiddler HTTPS-расшифровке:

enter image description here

После этого приложение должно снова работать.

...