Пользовательский сертификат CA iPhone Simulator
-
22-09-2019 - |
Вопрос
Я хотел бы протестировать приложение на симуляторе iphone, которое подключается к службе с использованием сертификата, подписанного нашим собственным центром сертификации.Я могу сделать это на реальном устройстве, добавив профиль обеспечения с сертификатом CA.Я думал, что наличие сертификата CA в стандартной связке ключей OSX будет работать, но это не так.
Таким образом, я могу получить доступ к сервису через Safari без предупреждения, но получаю ошибку при попытке запустить что-то в симуляторе.
Решение
Крипто API недоступны для симулятора.Я думаю, что кто-то в Apple курил крэк, когда принимал это решение, потому что я не понимаю, как наличие iPhone меняет результат криптографического алгоритма.Тем не менее, для разработки с помощью этих систем вам понадобится iPhone или iPod Touch.
Другие советы
Этот связь работал у меня
Метод canAuthenticateAgainstProtectionSpace возвращает да.ПРИМЕЧАНИЕ:он будет принимать любой сертификат, поэтому его следует удалить для производственных выпусков:то есть:ТОЛЬКО для тестирования
Кажется, все работает нормально, когда я указываю эмулятору на один из наших действующих серверов, который использует «настоящий» сертификат.Но я только что получил 1200 ошибок, пытаясь заставить эмулятор взаимодействовать с локальным тестовым сервером, который я настроил сегодня утром.
Таким образом, там должны быть криптобиблиотеки (иначе наше приложение не будет общаться с реальными серверами с настоящими сертификатами), но, похоже, существует проблема с самозаверяющими сертификатами.