В идеале должно быть только два сценария, когда приложению iOS потребуется принять ненадежный сертификат.
Сценарий A: вы подключены к тестовой среде, в которой используется самозаверяющий сертификат.
Сценарий B: Вы проксируете трафик HTTPS
, используя MITM Proxy like Burp Suite, Fiddler, OWASP ZAP, etc.
Прокси вернут сертификат, подписанный самозаверяющим CA, чтобы прокси мог захватывать HTTPS
трафик.
Производственные хосты никогда не должны использовать недоверенные сертификаты по очевидным причинам .
Если вам нужно, чтобы симулятор iOS принял недоверенный сертификат для тестирования, настоятельно рекомендуется не изменять логику приложения, чтобы отключить встроенную проверку сертификата, предоставляемую API-интерфейсами NSURLConnection
. Если приложение будет выпущено для публики без удаления этой логики, оно будет подвержено атакам «человек посередине».
Рекомендуемый способ принять недоверенные сертификаты в целях тестирования - импортировать сертификат Центра сертификации (ЦС), который подписал сертификат, на симуляторе iOS или устройстве iOS. Я написал небольшую заметку в блоге, в которой демонстрируется, как это сделать с помощью симулятора iOS:
прием ненадежных сертификатов с помощью симулятора ios