Is SQLCipher compatible with the SQLite.Net PCL package?

Hopefully a pretty simple question. I have a current project that uses the SQLite.Net and SQLite.Net.Async PCL packages. These packages are both forks of the popular sqlite-net project by Frank Krueger, whose API SQLCipher does support (correct me if I’m wrong).

However, it looks like there’s a couple of calls (namely the SQLiteConnection constructors) that are different and may not work well with SQLCipher. Hence, my question: Is SQLCipher compatible with the above-named packages? How would I go about modifying my code to accomodate SQLCipher?

Thank you in advance for your help.

Hello @ncg

Yes, SQLCipher can be used with the SQLite.Net PCL project, however modifications would need to be made to properly integrate the two, allow keying/rekeying the database. Depending on what platform you are working on, those modifications may be more difficult than others.

Thanks @developernotes. I’m working on a Xamarin.Forms project targeting Android and iOS. I primarily get connections to the database file though the use of the SQLConnectionWithLock constructor. Does that sound like something that would need significant reworking?

Hello @ncg

We are planning to include PCL support for the Xamarin platform in the near future.

That’s great news! I don’t suppose you have a general timeframe on the release date?

Thanks for all your help.

Hi @ncg

Unfortunately we do not have a timeframe on the release date. We are actively looking into it at the moment.

Any update on the timeframe? I’d be very interested in purchasing SQLCipher if PCL support was available. Meanwhile I’m finding it difficult to integrate SQLCipher into my existing xamarin forms project (targeting iOS and Android). Thanks.

Hello @philo

We are near completion of PCL support of SQLCipher for Xamarin iOS and SQLCipher for Xamarin Android. We are awaiting a new release of SQLite.Net-PCL in order to make our release available.

Excellent. Thank you. For planning purposes, are we looking at days, weeks, months?

Hello @philo

Unfortunately we can not offer a release date at this time — once the new SQLite.Net-PCL package has been made available we expect to submit our package to the Xamarin Component Store quickly.

Sorry to be a bother, but I wanted to know if you would be able to provide an estimated released date at this time. It appears that the SQLite.Net-PCL project has been updated last Friday, which from what I understand was the major blocking issue for the SQLCipher PCL release. (https://www.nuget.org/packages/SQLite.Net-PCL)

My team would greatly prefer to use SQLCipher for our project, but we absolutely require PCL support. Unfortunately, we are on a deadline and need to make a decision on how to proceed relatively soon. I appreciate any info you could provide in this regard.

Thank you very much!

Hello @ncg

Thank you for your interest in SQLCipher! We are actively updating our projects to include the latest updates of SQLite.Net.PCL which will allow us also include the Core reference. We expect to start making these commercial packages available over the next couple of weeks. Thank you again for your patience.

This is excellent news, ncg!

Thank you for the update!

Is there any chance you will be updating the windows runtime project to reference the interfaces in the SQLite.Net core as well?

Hello @RWilkinson

This is something we are considering following the SQLCipher for Windows UAP release.

That is unfortunate, I would prefer to use the SQLite.Net.Core PCL supported libraries and standard DI over the more complex PCL bait and switch technique I am currently using. But my Xamarin forms application targets tablets primarily and I need to include support for the popular surface tablets. Do you have a release date for the UAP product?

Hello @RWilkinson

We are in the process of updating SQLCipher for Windows UAP and our Xamarin components which will both use SQLite.Net.Core PCL. We do not have a release date we can share at this time, however we expect it to become available soon. Thank you for your patience.

I see that the windows update for SQLCipher was released. Do we have a updated Xamarin component as well?

Hello @krudraiah

The updates to the SQLCipher for Xamarin iOS and SQLCipher for Xamarin Android components have just been released on the Xamarin component store.