amake / orgro

An Org Mode file viewer for iOS and Android
https://orgro.org
GNU General Public License v3.0
452 stars 21 forks source link

Support encryption #33

Open psamim opened 3 years ago

psamim commented 3 years ago

Hi,

As an enhancement, it would be great if Orgro could support opening encrypted files, or encrypted headings, with the help of OpenKeyChain. Just like Emacs and org-mode.

amake commented 3 years ago

It looks like OpenKeychain is Android-only.

As a general principle Orgro is cross-platform and I won't be adding any single-platform features. So I would need to find an equivalent implementation for iOS or, better yet, in Dart.

chrstfer commented 3 years ago

I don't know dart, but this looks like an actively maintained library that does encryption and here's a gist with a reference implementation.

amake commented 3 years ago

I take it that this request is to support the whole-file and per-section use cases described here:

pointycastle looks too low-level. Something more like openpgp or encrypt looks like the right thing.

I would also need to create a GUI for managing private keys.

amake commented 6 months ago

Support for decrypting and reencrypting Org Crypt-style symmetrically encrypted sections will be available for testing in v1.36.0 soon:

amake commented 6 months ago

Support for symmetrically encrypted sections is now available on all platforms in v1.36.1.

I'm debating whether it's worthwhile to support asymmetric encryption and full-file encryption.

amake commented 6 months ago

I'm leaning toward not bothering with full-file encryption. I started a poll about symmetric vs. asymmetric: https://mastodon.social/@amake/111700198262236731

amake commented 5 months ago

From discussion on Mastodon I understood that using OpenKeychain would have important advantages:

Those are nice advantages, but there are some significant issues:

amake commented 5 months ago

iPGMail offers an API for usage similar to OpenKeychain's intents: https://ipgmail.com/developers/

amake commented 5 months ago

The OpenKeychain API appears to be this: https://github.com/open-keychain/openpgp-api