Cerod activation method missing in sqlcipher android


#1

“activatecerod” method not available in sqlcipher android community edition in version 3.5.9.

net.sqlcipher.database.SQLiteDatabase.activatecerod(DatabaseAgent.CEROD_ACTIVATION_KEY)

Has the method name been changed? Or is it only present in commercial edition?


#2

Hello @Manjeet_Sudhanshu - that is not, and has never been, a SQLCipher method.


#3

While using cerod database:

we first use activation api like this:
net.sqlcipher.database.SQLiteDatabase.activatecerod(“7bb07b8d471d642e”);

then do further call for open database:
net.sqlcipher.database.SQLiteDatabase.openDatabase( “:cerod:mypass:”+path,"",null, SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS, null);

if i don’t call activatecerod method, it throws error:
Caused by: net.sqlcipher.database.SQLiteException: unable to open database file
_ at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)_
_ at net.sqlcipher.database.SQLiteDatabase.(SQLiteDatabase.java:1956)_
_ at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:906)_


#4

Hello @Manjeet_Sudhanshu. Can you provide some information on where you got this build of SQLCipher? CEROD (SQLite Compressed and Encrypted Read-Only Database) is a product released by HWACI, not Zetetic. We have never exposed an activatecerod method on net.sqlcipher.database.SQLiteDatabase. I can only hypothesize that you are using a customized version of SQLCipher for Android that adds that method and then repackages it with a non-official native library build so you could use CEROD functionality with the SQLCipher Android API. While you are free to do that under the open source license, we can’t support that scenario.