сертификаты CA для iPhone TrustStore

кто-нибудь из вас знает, как изменить содержимое Security.framework/TrustStore.sqlite3. Похоже, что iPhone использует его для хранения доверенных сертификатов CA. Я действительно хочу, чтобы мой iPod touch доверял моему пользовательскому сертификату. Кроме того, кто-нибудь из вас знает приложение (win32) для редактирования файлов базы данных sqlite3 (кроме sqliteman, это всегда сбой для меня).

5 ответов


Если у вас есть веб-сервер, настроенный для обслуживания цифровых сертификатов с правильным типом mime, Safari на iPhone добавит их в хранилище доверия.

MIME-тип для сертификата CA - " application/x-x509-ca-cert "(пример здесь)

когда safari загружает этот сертификат, он будет как пользователь, если они хотят доверять ему.

после доверия он появляется в разделе Настройки / Общие / профили в качестве профиля конфигурации.

alt текст http://o-regan.org/cacert.png

сертификат также вставляется в TrustStore.и sqlite3 БД. Проверьте это, выполнив резервное копирование и извлечение БД с помощью iPhone backup extractor.

Я не уверен, что теперь это означает, что ему доверяют для других целей, скажем, как корню SSL.

надеюсь, это поможет, я мог бы исследовать больше, если позволит время.


Я могу себе представить, что кто-то еще столкнется с этой проблемой, поэтому я хотел бы ответить, как это работает (Apple не хочет этого видеть):

1st) iPhoneOS доверяет каждому сертификату CA, хранящемуся в / System/Library/Framework / Security.framework / TrustStore.и sqlite3

2nd) некоторые поля в этой базе данных содержат данные, которые я не понял, в то время как другие значения, такие как "SHA1", вполне очевидны.

3rd) есть два разных TrustStore.sqlite3s on ваш iPod или iPhone. Второй находится по адресу /private/var/Keychains / TrustStore.и sqlite3. Единственное различие между ними заключается в том, что Apple доверяет только содержимому одного в безопасности.рамки.

4th) последний используется для хранения установленных пользователем сертификатов (спасибо, koregan), в то время как макет таблицы тот же.

5th) откройте самозаверяющий сертификат с помощью Mail или Safari и установите его.

6th) Open /private/var/брелки/TrustStore.и sqlite3 используя ваш любимый менеджер баз данных SQLite и найдите строку в tsettings, чей" SHA1 " BLOB содержит хэш вашего сертификата CA.

7th) извлеките всю строку и вставьте ее в TrustStore.таблица tsettings sqlite3.

8th)убедитесь, что вы скопировали базу данных обратно на устройство, перезагрузите ее.

9th) теперь он должен полностью доверять тем сертификатам, которые подписаны вашим пользовательским CA.


можно использовать утилита настройки iPhone установить сертификат.


для второй части вашего вопроса я использовал расширение SQLite для Firefox для создания и редактирования файлов SQLite db.

addons.mozilla.org


начиная с iOS 11 TrustStore находится по адресу:/System/Library/Security/Certificates.bundle вместо обычного местоположения:/System/Library/Frameworks/Security.framework