У меня есть приложение, которое взаимодействует со многими различными сайтами, и каждый сайт имеет свой собственный сертификат SSL, подписанный нашим собственным внутренним центром сертификации.Это избавляет нас от необходимости покупать SSL-сертификаты для каждого сайта (сотни или тысячи) и является более безопасным, чем использование группового сертификата с общим ключом на каждом из этих сайтов.Таким образом, использование сертификата CA - единственный способ.
Сейчас у меня есть файл mobileprovision, который установит сертификат CA в качестве профиля на телефоне.Когда наше приложение iPhone запускается, если оно получает ошибку SSL-сертификата, оно перенаправляет в этот файл мобильного обеспечения через Safari, и пользователю будет предложено установить CA.
Проблема в том, что я обеспокоен тем, что Apple AppStore может запретить моему приложению делать это (просто некоторые отзывы от других разработчиков на данный момент), и я хотел исследовать другие способы сделать это.
По сути, мне нужно разрешить SSL-соединение, которое будет проверяться по сертификату CA, который будет встроен в мое приложение.Это сделает сертификат CA активным только для звонков, которые я делаю.Я использую стандартные методы NSURLConnection для связи со службой.
Возможно ли это?Может кто-нибудь показать мне, как загрузить CA (в какой форме PEM?) И добавить его в список доверенных сертификатов CA для моего приложения?Если это невозможно, какие еще варианты у меня есть?Просто доверять всем сертификатам на самом деле не вариант, мы хотим предотвратить атаки «посредников» и доверять только сертификатам, выпущенным CA.
Спасибо!