Nathan and I just got the first complete test of IOCipher working in the IOCipherServer/SpotSync app. We created a filesystem sqlite.db file, then mounted it and got all the files via HTTP. In the test suite, I have lots of operations all running fine and encrypting! The core idea here is a java.io API replacement that transparently writes to an encrypted store. So for the most part, just change your import statements from:
java.io.* ---> info.guardianproject.iocipher.*
Then in your code, make a VirtualFileSystem
instance and mount it, and unmount it. That’s about it. Right now, you can have only a single filesystem per app, but you can unmount one and mount another. We hope to add support for multiple filesystems in the not-too-distant future.
Its ready for people to try, some kind of early alpha. Here’s the framework itself:
https://github.com/guardianproject/IOCipher
THe easiest way to get started right now is probably the test suite:
https://github.com/guardianproject/IOCipherTests
Our first app using it is here:
https://github.com/guardianproject/IOCipherServer
Comments, feedback, criticism, welcome and wanted!