Hi @guptag, the basic features of SQLCipher are available in the community edition, sqlcipher_export included, are you getting an error when you try to use it? The various commercial editions provide developer support, like pre-built binaries, solutions for Visual Studio, etc.
I am not able to encrypt the db
Can you tell us what happened? Also, can you share with us the code you are using to encrypt the db and check that you succeeded?
You shouldn’t have to do that, no. The instructions at /introduction are for a generic build on a UNIX or Linux variant host operating system. The Xcode project file sqlcipher.xcodeproj takes care of the configure step for you, in the amalgamation target, which has a Run Script build phase.
dbpath is full path to the db: /Users/btlmac/Library/Developer/CoreSimulator/Devices/8706D08E-9AC0-4251-81FC-50CFBA778878/data/Containers/Data/Application/0243F4F4-E324-4518-84F6-A4C22FAEB00D/Documents/testbtldb.sqlite
error i’m getting is:
2015-10-28 12:55:32.089 test[69239:437438] ATTACH error file is encrypted or is not a database
it is not even creating encrypted db in the specified path. i.e Attach command is not creating db btldbencrypted.sqlite
Note: dbpath contains path to the unencrypted db.
You can not use dbPath as the path to attach a database as that is already the open database, you must export into a different file. The sqlcipher_export(…) documentation provides some examples showing the conversion process.
Querying the database once a key has been provided forces the library to attempt to decrypt a portion of the database, which will verify whether the key is correct. The sqlite_master table will always be present. We are glad to hear your application is working now.
I am making an iPad app which uses sqlcipher. If in future I plan to submit my app on Appstore, then do I have to submit application to DOC mentioning about encryption I’m using in my app as per the process mentioned here?