В ідеалі мають бути лише два сценарії, коли програмі iOS потрібно буде прийняти неперевірений сертифікат.
Сценарій A: Ви підключені до тестового середовища, яке використовує сертифікат самопідписання.
Сценарій B: Ви проксі- HTTPS
трафік використовуєте за допомогою MITM Proxy like Burp Suite, Fiddler, OWASP ZAP, etc.
проксі-сервера поверне сертифікат, підписаний самопідписаним ЦА, щоб проксі-сервер міг захоплювати HTTPS
трафік.
Господарі виробництва ніколи не повинні використовувати недовірені сертифікати з зрозумілих причин .
Якщо вам потрібно, щоб симулятор iOS прийняв неперевірений сертифікат для цілей тестування, настійно рекомендується не змінювати логіку програми, щоб відключити перевірку вбудованого сертифіката, що надається NSURLConnection
API. Якщо додаток буде випущено для широкого загалу, не знімаючи цієї логіки, воно буде сприйнятливим до атак людини в середині.
Рекомендований спосіб прийняття недовірених сертифікатів для цілей тестування - імпорт сертифіката Certificate Authority (CA), який підписав сертифікат, на ваш iOS Simulator або iOS-пристрій. Я написав швидкий пост у блозі, який демонструє, як це зробити у iOS Simulator за адресою:
прийняття ненадійних сертифікатів за допомогою симулятора ios