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