Я могу представить, что кто-то еще столкнется с этой проблемой, поэтому я хотел бы ответить, как она работает (Apple не понравится это видеть):
1-й) iPhoneOS доверяет каждому сертификату CA, хранящемуся в /System/Library/Frameworks/Security.framework/TrustStore.sqlite3
2nd) Некоторые поля в этой базе данных содержат данные, которые я не понимал, в то время как другие значения, такие как "SHA1", совершенно очевидны.
3-ий) На вашем iPod / iPhone есть два разных TrustStore.sqlite3. Второй находится по адресу /private/var/Keychains/TrustStore.sqlite3. Единственное различие между ними заключается в том, что Apple доверяет только содержимое в Security.framework.
4-й) Последний используется для хранения установленных пользователем сертификатов (спасибо, koregan), в то время как формат таблицы такой же.
5th) Откройте самозаверяющий сертификат с помощью Mail или Safari и установите его.
6th) Откройте /private/var/Keychains/TrustStore.sqlite3 с помощью вашего любимого менеджера баз данных SQLite и найдите строку в tsettings, чей BLOB-объект "SHA1" содержит хэш вашего сертификата CA.
7th) Извлеките всю строку и вставьте ее в таблицу tsettings TrustStore.sqlite3.
8th) Убедитесь, что вы скопировали базу данных обратно на устройство, перезагрузите ее.
9th) К настоящему времени он должен полностью доверять тем сертификатам, которые подписаны вашим пользовательским CA.