Am 16.12.2014 14:03, schrieb jus...@postgresql.org:
On 2014-12-16 11:42, Harmen de Jong - CoachR Group B.V. wrote:
We use Navicat for SQLite and simply replaced the sqlite.dll file
with our own compiled SQLite dll version that has the proper
encryption included. Maybe this will work for you too and allows you
to use a management tool that is quite feature rich. Maybe this
approach will work for other management tools too.

Hmmmm... trying to visualise how that works... :)

How do you specify encryption options (eg password, key size, etc),
if the application itself doesn't know to pop open a dialog asking
for them?

Guessing you hard coded the options into the SQLite dll file you
compiled?

The official SQLite version contains stubs for encryption support, namely functions sqlite3_key & sqlite3_rekey resp. sqlite3_key_v2 & sqlite3_rekey_v2. These functions are used to establish encryption for a database (sqlite3_key) or to change the encryption key for a database (sqlite3_rekey).

Most management tools supporting encryption use this "official" encryption API. If the management tool uses this API and a SQLite DLL to connect to an encrypted SQLite database, then the DLL could be exchanged for one supporting the required encryption method.

Most freely available encryption extensions use a hard coded encryption method. This is true for System.Data.SQLite (128 bit RSA), SQLCipher (256 bit AES), and wxSQLite3 (128 or 256 bit AES, decided at compile time) to name a few. The official commercial SQLite Encryption Extension (SEE) allows to select an encryption method at runtime, this is done by using a method prefix in the encryption key passed to function sqlite3_key.

Regards,

Ulrich


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to