12

の内容を変更する方法を知っている人はいますかSecurity.framework/TrustStore.sqlite3。iPhone がこれを使用して、信頼できる CA 証明書を保存しているようです。私の iPod touch が私のカスタム証明書を信頼することを本当に望んでいます。それに加えて、sqlite3データベースファイルを編集するアプリ(win32)を知っている人はいますか(sqlitemanを除く、これは常にクラッシュします)。

4

6 に答える 6

7

正しいmimeタイプのデジタル証明書を提供するように構成されたWebサーバーがある場合、iPhone上のSafariはそれらをトラストストアに追加します。

CA証明書のmime-typeは「application/x-x509-ca-cert」です(例はこちら) 。

safariがこの証明書をダウンロードすると、ユーザーがそれを信頼したい場合に証明書がダウンロードされます。

信頼されると、[設定]|[設定]に表示されます 一般| 構成プロファイルとしてのプロファイルセクション。

代替テキストhttp://o-regan.org/cacert.png

証明書はTrustStore.sqlite3データベースにも挿入されます。バックアップを実行し、 iphoneバックアップエクストラクタを使用してDBを抽出することにより、それを確認しました。

これが、SSLルートなどの他の目的で信頼されていることを意味するかどうかはわかりません。

これがお役に立てば幸いです。時間が許せばもっと調査するかもしれません。

于 2008-12-12T00:47:39.763 に答える
6

他の誰かがこの問題に遭遇すると想像できるので、それがどのように機能するか答えたいと思います (Apple はそれを見たくないでしょう):

1st) iPhoneOS は、/System/Library/Frameworks/Security.framework/TrustStore.sqlite3 に保存されているすべての CA 証明書を信頼します

2) そのデータベースのいくつかのフィールドには、私が理解できなかったデータが含まれていますが、「SHA1」などの他のフィールドの意味は非常に明白です。

3) iPod/iPhone には 2 つの異なる TrustStore.sqlite3 があります。2 つ目は、/private/var/Keychains/TrustStore.sqlite3 にあります。それらの唯一の違いは、Apple が Security.framework の内容のみを信頼することです。

4番目) 後者は、ユーザーがインストールした証明書を格納するために使用されます (ありがとう、koregan)。テーブルのレイアウトは同じです。

5番目) メールまたは Safari を使用して自己署名証明書を開き、インストールします。

6番目) 好みの SQLite データベース マネージャーを使用して /private/var/Keychains/TrustStore.sqlite3 を開き、tsettings で、"SHA1" BLOB に CA 証明書のハッシュが含まれている行を探します。

7番目) 行全体を抽出し、それを TrustStore.sqlite3 の tsettings テーブルに挿入します。

8番目) データベースをデバイスにコピーしたことを確認し、再起動します。

9th) ここまでで、カスタム CA によって署名された証明書を完全に信頼する必要があります。

于 2009-02-18T16:10:42.733 に答える
5

iPhone構成ユーティリティを使用して証明書をインストールできます。

于 2008-12-09T04:04:15.267 に答える
3

質問の 2 番目の部分では、Firefox の SQLite 拡張機能を使用して、sqlite db ファイルを作成および編集しました。

addons.mozilla.org

于 2008-12-11T23:13:15.740 に答える