問題タブ [sqlcipher]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - RestKit で使用する場合に SQLite (シード済み/その他) データベースを暗号化する方法
RestKit を使用して、データベースのシード処理とローカル永続化を実行しています。関連するコア データとオブジェクト マッピングは期待どおりに機能しています。ただし、今すぐローカル データベースを暗号化する必要があります。次のオプションは、SQLite データベースを保護するために一般的に使用されることを知っています。
- Lion Server で何らかの MDM/Profile Manager を使用して、アプリケーション データを保護します (リモート ワイプなど)。
- SQLCipher を使用してデータベースを暗号化する
ただし、SQLCipher は RestKit では機能しません。このような状況に陥った人はいますか?ローカル SQLite を暗号化するために他に何かありますか? 引き続きRestKitを使いたいと思います。
objective-c - SQLCipher を使用してデータベースを暗号化する方法がわからない
このリンクで説明されているように、SQLCipher をプロジェクトに含めました: http://sqlcipher.net/ios-tutorial/
しかし、上記のリンクから説明を読んだデータベースを暗号化する方法がわかりませんが、取得できません。
実際に私がやっていることは、アプリケーションが初めて開いている場合、データベースを (つまり、暗号化なしで) ドキュメント ディレクトリにコピーすることです。もう 1 つ、バンドルからドキュメント ディレクトリにコピーするときに、データベースが空白になります。
データベースを開いた後に sqlite3_key 関数を使用しようとしましたが、何も暗号化されていません。しかし、バンドルからドキュメントディレクトリにコピーするときにデータベースを暗号化する方法のようなものは見つかりませんでした。FMDBを利用する予定ですので、それに合わせて回答いただけると助かります。
その方法を教えてください。または、チュートリアルがある場合は方向を示してください。また、それを行うための標準的なアプローチを提案してください。
android - Android OS Ice Cream Sandwich でデータベース パスワードを保護する
データベースのパスワードを保護するために Sql 暗号を使用していますが、Ice Cream Sandwich では機能しません。Android 4.0.3 で Sql 暗号を使用できますか。そうでない場合は、それを行う他の方法はありません。
助けてください。
NB方法はオープンソースでなければなりません。
java - Android での SQLCipher。作成は正常に機能しますが、選択 + 挿入しないでください
こんにちは。
次のコードを使用して、Android アプリケーションで暗号化されたデータベース ファイルを作成しています。
これは正常に機能し、ファイルが作成されますが、この暗号化されたファイルにアクセスしようとすると、次のような複数のエラーが発生します。
そのようなテーブル TABLE_NAME はなく、ファイルは暗号化されているか、データベースではありません
関数が呼び出されているため、同じコードを使用してファイルを編集用に開くだけですopenOrCreateDatabase()
。ファイルを開くプロセスは単に作成の逆であると思いますが、元のパスワードを渡しますか?
正しいインポートを使用していることに注意してください。
メソッドで初期化SQLiteDatabase.loadLibs(this);
しonCreate()
ます。
誰かが何か考えがあれば、私が間違っているところを指摘してもらえますか。
ありがとうございました!
android - Androidでsqlcipherを使用した後、「sqlite3_open_v2( "mydatabase.db"、&handle、6、NULL)が失敗しました」
Android2.3.3でsqlcipherを使用しているとき。エラーが発生します。
これが私のDB.javaクラスです
DB.javaのオブジェクトを作成し、このように利用します
この行_db.insertValuesInTable();
を実行するとすぐにこのエラーが発生します
すべての&ファイルを適切に含め.so
まし.jar
た.zip
。それでもこのエラーが発生します。これを解決するにはどうすればよいですか?
ios - iOS アプリのオフラインとセキュリティ
オフライン モードでデータをキャッシュしてユーザーに提供するアプリのオフライン機能を設計しています。アプリは、オフライン モードでのログイン機能もサポートする必要があります。
Sqlicipher は、ファイル保護を備えたコア データ セキュリティよりも優れたオプションであると考えています。iOS デバイスでデータ保護が適用されている場合にのみ、データのセキュリティが確保されるからです。
そして今回の件でiOSのハードウェア暗号化も危うい。
Sqlicipher の設計の一環として、以下のスタレジを計画しました。
- 機密データの格納には SqlCipher を使用します。
- ユーザーの資格情報を SqlCipher DB アクセスのキーとして作成します。
- ユーザーの認証情報をキーチェーン アクセスに保存します。
質問:
- 資格情報をキーチェーン アクセスに保存することは、より安全なオプションであり、絶対確実です。そうでない場合、代替手段は何ですか?
- データ保護を考慮したコア データのセキュリティに関する私の理解は正しいですか?
c++ - SQLite は SQLCipher 拡張機能でメモリをリークしますか?
暗号化されたSQLiteデータベースを格納するためにSQLCipherを使用しています。ただし、データベースの暗号化に使用すると、メモリ リークが発生し始めます。次のサンプルを確認してください。sqlite3_key
このサンプルでは、メモリ リークが発生します。への呼び出しを削除するとsqlite3_key
、メモリ リークがなくなります。
考えられる原因をいくつか絞り込みました。
- このサンプルではインメモリ データベースを使用していますが (したがって
":memory:"
)、ファイル ベースのデータベースを使用しても同じ結果が得られます。 sqlite3_*
呼び出しからのすべてのリターン コードは、SQLITE_OK
エラーがないことを意味します。10
forのバッファ長は"passphrase"
問題ではありません。
ただし、作成する接続の数や使用する異なる暗号化キーの数に関係なく、メモリ リークは常に約 8 キロバイトです。これにより、これは実際にはメモリ リークではなく、手動で解放されない SQLite/SQLCipher の一定のグローバル メモリであると思われます。
誰もこれを経験したことがありますか?漏れをなくす方法はありますか?これが正式なメモリ リークではない場合でも、これを使用して実際のメモリ リークを検出することは困難です。
Windows 用の SQLCipher ライブラリを使用しています。
ios - sqlcipherを使用してiOSで全文検索を使用することは可能ですか?
私はたくさんグーグルをしていましたが、sqlcipherを使用してiOSで全文検索を使用できるかどうかわかりません。
しかし、それに関するドキュメントは見つかりませんでした。
android - アプリを強制的に停止した後、生のキーデータを使用してデータベースにアクセスできません
キーの導出を回避するために行キーデータを使用しようとしています(SQLCipherのドキュメントによる):
アプリケーションを強制的に停止すると、データにアクセスできなくなります。
この動作は、SQLCipherを使用しないと発生しません。アプリケーションを強制的に停止した後でも、データベースは読み取り可能です。
私は何か間違ったことをしていますか?
前もって感謝します、
java - SQLCipher Android でキーを変更する
AndroidでSQLCipherデータベースのキーをプログラムでどのように変更しますか?