Мне нужно подключить приложение для iPhone к серверу с самозаверяющим сертификатом через HTTPS. Я не могу изменить сертификат или сервер.
Поскольку я не хочу принимать все самозаверяющие сертификаты, только этот, моя идея заключалась в том, чтобы импортировать сертификат в цепочку ключей приложений (считывая сертификат из файла и добавляя его в цепочку ключей с помощью SecItemAdd
).
Если я запускаю приложение в симуляторе, устанавливаю сертификат и затем ищу его в цепочке для ключей (используя SecItemCopyMatching
), сертификат найден, но соединение все еще не удается с «сертификатом ненадежного сервера» ошибка.
Это проблема с симулятором или моим приложением? Должен ли я сделать что-нибудь еще, чтобы это работало? Или я могу предположить, что если я добавлю сертификат в цепочку для ключей на реальном устройстве, соединение с сервером будет успешным (я использую NSURLConnection.sendSynchronousRequest
)?
Спасибо за любую помощь!