Good news everyone, I got OpenPGP.js to work. I gave up on jBinary and decided to go with a plain XHR request that uses the arraybuffer type. From there, it’s a cinch to load the binary data into OpenPGP.js. I’ve never been so happy to decrypt a file. 🙂

However, there are bugs and the current UX is terrible. It tries to list all the files in Cassandra (lol), and it also seems to be decrypting only the last image in the list despite loading all the others. No good! I would also like to make it easier to view individual images.

Anyway, I also learned that Google has its own end-to-end PGP encryption in the works. I think that’s pretty awesome, and I hope we see more uses for client side encryption. SSL is not enough! Especially in today’s cloud-driven world where it’s all too easy to lose control of your own data.