57 Commits

Author SHA1 Message Date
Nick Parker
5b639be3c4 Add test for commoncrypto default cipher 2013-06-06 13:49:03 -05:00
Nick Parker
b4bb526dcb New test procedures can check cipher provider name
if_built_with_openssl and if_built_with_libtomcrypt act as replacements
for do_test, only performing the test when the current sqlcipher
testfixture binary was compiled with the specific crypto library.
2013-06-05 15:21:21 -05:00
Nick Parker
297e94d2c2 Merge sqlite-release(3.7.17) into prerelease-integration
Conflicts:
	src/pragma.c
2013-05-21 15:42:46 -05:00
Stephen Lombardo
cf9fb1e077 rev to 2.1.1 2012-12-07 10:56:20 -05:00
Stephen Lombardo
bea4a2c894 pragma to query cipher_hmac_pgno setting 2012-11-16 16:16:10 -05:00
Stephen Lombardo
ef3ca72e31 pragma to print hmac salt mask 2012-11-16 13:32:03 -05:00
Stephen Lombardo
c76596b12d pragma to return fast_kdf_iter 2012-11-16 12:52:51 -05:00
Stephen Lombardo
caf3865b8b pragmas to override hmac salt mask and allow migration of 2.0 beta databases 2012-11-16 11:13:14 -05:00
Nick Parker
45235df3f7 Adding tests for checking the cipher PRAGMA 2012-11-06 12:24:30 -06:00
Nick Parker
9c94733fb3 Adding tests for checking initial value and changes to the following
PRAGMAs: cipher_use_hmac, cipher_default_use_hmac, kdf_iter, cipher_page_size
2012-11-06 12:17:40 -06:00
Stephen Lombardo
48215584ab bump version to 2.1.0 due to functional change in hmac calculation 2012-07-18 14:50:47 -04:00
Stephen Lombardo
971933cd82 remove unecessary copy commands from test 2012-07-18 12:34:32 -04:00
Stephen Lombardo
f1ea44e3ef pragma allows le, be, or native pgno ordering plus tests 2012-07-18 11:21:12 -04:00
Stephen Lombardo
cc0e8be7a3 explicit test for opening 2.0 format db with hmac 2012-07-09 23:03:01 -04:00
Stephen Lombardo
6dbdd4663c bump to 2.0.6 2012-06-13 16:27:09 -04:00
Stephen Lombardo
2b7a28fd12 tests for large schemas and behavior with auto vacuum enabled 2012-06-13 13:17:17 -04:00
Stephen Lombardo
ac8385cb14 basic tests for autovacuum 2012-05-18 10:45:41 -04:00
Stephen Lombardo
07321926ba round out rekey tests for WAL 2012-05-18 02:38:25 -04:00
Stephen Lombardo
c2f7cd7926 enable secure delete on all encrypted databases 2012-05-18 02:22:40 -04:00
Stephen Lombardo
0e8cdf4b25 test for rekey after a large delete 2012-05-17 19:07:57 -04:00
Stephen Lombardo
8a734f2219 expand rekey tests 2012-05-17 17:29:01 -04:00
Nick Parker
525243c689 Adding PRAGMA cipher_version to identify the current SQLCipher version,
also including test.
2012-05-17 07:59:43 -05:00
Stephen Lombardo
8f061f1a50 add pragma cipher_default_use_hmac to toggle global HMAC setting 2012-02-29 11:14:42 -05:00
Stephen Lombardo
cdfd2a3d3a ensure that pragmas don't do anything unless a context is initialized on the db 2012-01-18 00:15:01 -05:00
Stephen Lombardo
f963c3e48c test for use of raw key with attached database 2012-01-13 09:51:19 -05:00
Stephen Lombardo
1a3e1c793d tests for vacuum behavior on encrypted databases 2012-01-13 02:10:15 -05:00
Stephen Lombardo
f7591e02fe rework hmac key derivation based on low iteration PBKDF2 with static salt mask 2012-01-12 23:42:55 -05:00
Stephen Lombardo
9c0dd8d449 improved HMAC key derivation
- ensure that the HMAC key derivation salt is different from
  that used to generate the encryption key
- allow the number of pbkdf2 iterations used for HMAC key
  derivation to be configured at runtime via pragma
2012-01-03 17:26:44 -05:00
Stephen Lombardo
a2a54885df add test for behavior with multiple key operations 2011-12-27 12:14:17 -05:00
Stephen Lombardo
f8bf2b1cce set meaningful test names 2011-12-27 12:01:47 -05:00
Stephen Lombardo
efe8c324c5 Merge branch 'v2beta' of github.com:sjlombardo/sqlcipher into v2beta
Conflicts:
	test/crypto.test
2011-10-12 14:25:36 -04:00
Stephen Lombardo
50c0ed42af SQLC-6: ensure proper behavior of sqlcipher_export() on virtual tables (i.e. FTS3) 2011-08-17 14:15:32 -04:00
Stephen Lombardo
56fa635aff SQLC-1: fix behavior for PRAGMA rekey being called as first operation or before PRAGMA key 2011-08-17 14:00:36 -04:00
Stephen Lombardo
55692c9b4e update to export test for large database and FTS3 virtual tables 2011-05-20 22:11:19 -04:00
Stephen Lombardo
f1ebbc0d6c add explicit test for WAL journal mode operation 2011-05-08 22:31:37 -04:00
Stephen Lombardo
92e4ad7436 implementation of sqlcipher_export() function to copy schema and data between databases 2011-04-14 16:44:29 -04:00
Stephen Lombardo
76c1e11fe3 refactoring encryption interface so codec interface is separate from crypto implementation 2011-03-02 13:15:13 -05:00
Stephen Lombardo
9c7104eeb9 fix comments in test suite 2011-02-19 14:45:30 -05:00
Stephen Lombardo
8cf3ad8e1e add test to verify that you attach and copy from non-hmac database to new format 2011-02-17 16:16:30 -05:00
Stephen Lombardo
dd911f3023 add a test to verify that it is possible to open a 1.1.8 database when changing cipher_use_hmac pragma 2011-02-17 11:50:24 -05:00
Stephen Lombardo
b62c74407a improvements to pragmas, allow custom page sizes and page data checks via hmac
- now possible to set custom page size using PRAGMA cipher_page_size = N;
- allow custom pragmas to be used on attached databases
- perform hmac on page ciphertext and IV before decryption
2011-02-16 16:07:20 -05:00
Stephen Lombardo
c10960834f fix issue where it wasn't possible to ATTACH an unencrypted database 2010-02-25 11:58:56 -05:00
Stephen Lombardo
b38a9d20a2 fix initialization of OpenSSL so an encrypted database can be attached to a non-encrypted main database; add test for the same 2009-12-23 21:45:51 -05:00
Stephen Lombardo
0e55063b10 remove rekey-plaintext test, not supported on master 2009-12-19 16:10:53 -05:00
Stephen Lombardo
75eeefc0bc alter crypto test 1.9 to add several thouand tables to create a schema parse error on improper rekey 2009-08-11 17:57:57 -04:00
Stephen Lombardo
84e17044df sqlcipher compatibility changes for upstream 3.6.17 2009-08-11 16:49:37 -04:00
Stephen Lombardo
0acb34a113 Refactoring to allow algorithm selection and other prameters to be set at runtime
- add kdf_iter, cipher, rekey_kdf_iter, and rekey_cipher PRAGMAs to allow changing parameters
- introduction of cipher_ctx struct to store relavent cipher details for separate read and write operations
- simplified sqlite3Codec to make more understandable
- simplify encryption code for first database page
- simplify sqlite3_key and sqlite3_rekey, they now operate only on the main database only
- documentation updates for supporting functions
- reorganize tests to remove interdependencies between tests where possible
- add tests for converting between different ciphers
2009-06-07 22:51:43 -04:00
Stephen Lombardo
0cc240ac78 support BLOB syntax for specifying binary keys 2009-04-22 16:22:08 -04:00
Stephen Lombardo
1d25ff34fe add test coverage for schema alterations 2009-04-22 11:52:03 -04:00
Stephen Lombardo
543220f2e7 added test coverage for locking across multiple database handles 2009-04-22 11:37:38 -04:00