Я также нашел другое возможное решение с помощью слияния:
String sqlInsertStub = "MERGE INTO mytable a USING (SELECT ? ID) b " +
"ON (a.ID = b.ID)" +
"WHEN NOT MATCHED " +
"THEN INSERT (ID, COL1, COL2) VALUES(b.ID, ?, ?)";
Я могу предположить, что кто-то еще встретится с этой проблемой, поэтому я хотел бы ответить, как она работает (Apple не понравится видеть что):
1-й), iPhoneOS доверяет каждому сертификату CA, сохраненному/System/Library/Frameworks/Security.framework/TrustStore.sqlite3
2-й) поля Some в той базе данных содержат данные, которые я не понял, в то время как значения других как "SHA1" довольно очевидны.
3-й) на Вашем iPod/iPhone существует две других Базы доверенных сертификатов sqlite3s. Второй расположен в/private/var/Keychains/TrustStore.sqlite3. Единственная разница между теми - то, что Apple только доверяет содержанию того в Security.framework.
4-й) последний используется для хранения установленных сертификатов пользователя (спасибо, koregan), в то время как сервировка является тем же.
5-й), Открывают Ваш самоподписанный сертификат с помощью Почты или Safari и устанавливают его.
6-й), Открывают/private/var/Keychains/TrustStore.sqlite3 использование Вашего любимого менеджера базы данных SQLite и ищут строку в tsettings, "SHA1" BLOB которых содержит хеш Вашего сертификата CA.
7-й), Извлекают целая строка и вставлять его в таблицу tsettings Базы доверенных сертификатов sqlite3's.
8-й), Удостоверяются, что Вы скопировали базу данных назад в устройство, перезагрузите его.
9-й) К настоящему времени это должно полностью доверительный те сертификаты, которые подписываются Вашим пользовательским Приблизительно.
Если Вам настроят веб-сервер для подавания цифровых сертификатов с корректным типом пантомимы затем, то Safari на iPhone добавит их к базе доверенных сертификатов.
тип пантомимы для сертификата CA "application/x-x509-ca-cert" (пример здесь)
Когда сафари загрузит этот сертификат, это будет как пользователь, если они захотят доверять ему.
После того, как доверяемый это кажется в Настройках | Общим | раздел Profiles как Профиль Конфигурации.
сопроводительный текст http://o-regan.org/cacert.png
Сертификат также вставляется в дб Базы доверенных сертификатов sqlite3. Проверенный, что путем выполнения резервного копирования и извлечения DB с iPhone копируют экстрактор.
Я не уверен, означает ли это теперь, что этому доверяют для других целей, скажите как корень SSL.
Надежда, которой это помогает, я мог бы заняться расследованиями больше, если время разрешает.
Можно использовать iPhone Configuration Utility для установки сертификатов.
Для второй части Вашего вопроса я использовал расширение SQLite для Firefox, чтобы создать и отредактировать sqlite файлы дб.