2008-12-07 6 views
9

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

ответ

6

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

первый) The iPhoneOS доверяет каждый сертификат ЦС, хранящиеся в /System/Library/Frameworks/Security.framework/TrustStore.sqlite3

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

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

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

5-й) Откройте свой самозаверяющий сертификат с помощью Почты или Safari и установите его.

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

7-й) Извлеките всю строку и вставьте ее в таблицу настроек TrustStore.sqlite3.

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

9-й) К настоящему моменту он должен полностью доверять тем сертификатам, которые подписаны вашим пользовательским ЦС.

+0

Спасибо за это, это ваш _ONLY_ вариант при разработке на эмуляторе. Использование утилиты конфигурации работает только для физических устройств. – RandomNickName42 2011-05-09 21:53:12

3

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

addons.mozilla.org

7

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

мим-типа для сертификата ЦС является «применение/х-x509-ча-CERT» (пример here)

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

После того, как он был доверен, он отображается в настройках | Общий | Профили в качестве профиля конфигурации.

alt text http://o-regan.org/cacert.png

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

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

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

+0

Расширение по умолчанию для `применение/х-x509-CA-cert` в`/и т.д./mime.types` является ` .crt`. – ceving 2014-11-16 15:46:47

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^