Я разрабатываю фреймворк iPhone, который отправляет HTTPS-запросы для связи с общедоступным бэкэнд-сервером. В настоящее время у меня есть большая проблема с сертификатами ненадежного сервера.Как отправить HTTPS-запросы на хостинг с сертификатом ненадежного сервера в iPhone Simulator?
Сертификат бэкэнд-сервера не подписан доверенным ЦС, поэтому мой первый подход состоял в том, чтобы использовать приватные NSURLRequest разрешенияAnyHTTPSCertificateForHost. Хотя это работало так, как ожидалось, и было прекрасным, как временное решение, наш клиент требует чистого решения в качестве конечного результата. Поэтому я написал метод, который позволяет установить предоставленный сертификат из файловой системы в цепочке ключей, но этот метод не работает должным образом в симуляторе iPhone. Вместо этого сертификат устанавливается в ключевом коде Mac OS X хост-компьютера. К сожалению, если я вызываю метод sendSynchronousRequest NSURLConnection, я получаю ошибку «ненадежный сертификат сервера». Кажется, что NSURLConnection не может получить доступ к цепочке ключей Mac OS X для получения сертификата.
Я полагаю, что это правильно или я что-то пропустил?
Будет ли мой подход работать, если я запустил приложение на реальном iPhone-устройстве (у меня пока нет еще одного)?
Существует ли брелок в iPhone Simulator вообще?
Возможно ли отправить HTTPS-запросы на сервер с ненадежным сертификатом на iPhone Simulator или мне нужно использовать директивы прекомпилятора для реализации различных подпрограмм в зависимости от базовой платформы (имитатора или устройства, соответственно)?
Любая помощь очень ценится.
Спасибо, Matthias
Возможный дубликат [Как использовать NSURLConnection для подключения к SSL для ненадежного сертификата?] (Http://stackoverflow.com/questions/933331/how-to-use-nsurlconnection-to-connect-with-ssl- for-an-untrusted-cert) –