SafeSlingerProject / SafeSlinger-Android

Open source code for the SafeSlinger Android client application.
MIT License
31 stars 3 forks source link

Import existing GPG key #143

Open dashohoxha opened 8 years ago

dashohoxha commented 8 years ago

Would it be possible to import an existing GPG private key, instead of generating a new one? Because some people may already have a private key that they use for secure communications (sign and decrypt messages). Having a private key on laptop and another private key on mobile seems a kind of inconveniance to me.

Maybe this is a bit related with #142 .

mwfarb commented 8 years ago

In fact, the Android OpekKeyChain app (paired with K-9 Mail and others) allows this and they already use the SafeSlinger key exchange library.

Importing a key for SafeSlinger Messenger is a very long term goal for advanced users and I'm not sure when we'll get there. Rather, we've been putting our efforts into providing other messenger apps solid key exchange libraries.

dashohoxha commented 8 years ago

I see your point. I had missed the part that OpenKeychain apps can exchange their GPG keys using SafeSlinger key exchange libraries.

But still, importing the private GPG key from the laptop to the OpenKeychain app on Android is a bit tedious (export, encrypt, transfer through internet, decrypt, import), and a bit difficult for common people. I think that it is possible to transfer them easily and securely using a special case of the SafeSlinger transfer protocol (and using exchange libraries, of course).

This special case is about transfering securely the keys and contacts of a person from one device to another (from laptop to mobile, from mobile to another mobile, etc.) If we can exchange keys safely from one person to another, it should be possible to exchange keys from one device to another (where both devices belong to the same person). It is a special case because n (number of participants) is fixed to 2, because we are transfering a private key instead of a public key, and maybe some steps of the protocol can be simplified.