3

I would like to write a (mobile) client and server application with a lot of similarities to PGP on the lowest application layer. Users should be able to encrypt data for multiple recipients. Moreover I need key management functionality for creating keys and exchange the public keys of the users with the application server. I would like to use one library for ios, android and the server side part (might be windows or linux). Client and server part will have the same C++ source code core, which will offer the basic crypto functionality. The C++ code will be called by JNI or other suitable interfaces. I already found the following libraries:

  1. GnuPG - Usefull, but not exactly easy to use. Therefore I searched and found:
  2. GPGME - a nice API. I started with that, until I found out that LGPL/GPL is incompatible with Apple's App Store ToS.
  3. OpenPGP-SDK - The homepage of the project seems no longer to be available. Did the move the page? Is this library still maintained? Moreover I read that it only can encrypt files with not more than ~8000 bit length. Is this true?
  4. Netpgp - Can this be used on different operating systems? Means will the library check the current operating system or will I have to use ports of Netpgp for the different platforms?
  5. UNnetpgp - I think this is sadly only suitable for iOS

Did I miss a library? Which is the easiest to use if I want to address a wide range of platforms? Maybe there is no OpenPGP library which can fulfill my requirements at all...

My first idea was to go with OpenSSL. Because I already use it for TLS encryption. But in one of my last questions I learned I should use an implementation of OpenPGP. Because I currently received the feedback to go a similar way like the one with OpenSSL - I'm now confused.

1

There exists our SecureBlackbox which implements complete OpenPGP functionality and is available for all major platforms. It's not free, though.

  • Such a coincidence. Just a few minutes ago I read about your product. I will take it into account. But because this is a student project our financial budget is very limited if not even non-existent. Thanks anyway. – little_planet Jan 6 '16 at 11:49
  • @little_planet we have discounted and even free licenses being offered. – Eugene Mayevski 'Allied Bits Jan 6 '16 at 12:01
  • @ Eugene Mayevski 'EldoS Corp: as you seem to be very experienced in the openPGP area, I may ask you an beginner question. Is it possible to encrypt text (no file, it will be stored in a database) with your library? And, while I'm extracting your HTML documentation, which language is your library written in? – little_planet Jan 6 '16 at 12:08
  • @little_planet yes, you can process any in-memory data. The main language is pascal, which is compiled to different targets. – Eugene Mayevski 'Allied Bits Jan 6 '16 at 12:15
  • 1
    I have used this product and recommend it. – Warren P Sep 2 '16 at 22:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.