Reputation: 5242
I want to provide security features in an application communicating via open wifi's by implementing application level encryption. The wifi may be used by other users, or application, but the data transmitted or received for that particular application should be encrypted. How do I achieve this? Are there any specific libraries in Android I can use to achieve this?
Upvotes: 0
Views: 666
Reputation: 14775
if you want to protect the communication between android and your backend-service you can use soap or rest webservices via https.
Upvotes: 0
Reputation: 46080
In general, you can use SSL/TLS (for stream-based communications) and DTLS (UDP-based variant of TLS) to secure your communication and avoid reinventing the wheel. Contrary to the popular belief, TLS does not require X.509 certificates -- TLS supports many authentication mechanisms including OpenPGP, shared keys and more. Not many libraries support those mechanisms though (our SecureBlackbox does).
Encrypting the data on-the-go without TLS is also possible, of course, but again it's a good idea to avoid implementing your own. In this case OpenPGP encryption would be very handy - it supports password-based as well as key-based encryption.
Upvotes: 2