OpenPGP Library for Java 3.1.1 has been released

DidiSoft OpenPGP Library for Java version 3.1.1 has been released.

This version brings improved speed for generating Diffie-Hellman (DH/DSS) keys, ability to add and remove sub keys and a new KeyStore.importKey method.

Speed of DH/DSS key creation

Till now by default the time needed for generating an ElGamal  (Diffie-Hellman) based OpenPGP key with the library was impractically long and for keys with key sizes greater than 2048 bits was not suitable for a real world application.

As of version 3.1.1 by default the library uses the public values for the p and g components of the Diffie-Hellman key exchange algorithm defined in RFC 3526. If you still wish to obtain your own p and g for newly generated key, you can do so by switching off the usePrecomputedPrimes property of the KeyStore class:

KeyStore ks = new KeyStore();
ks.setUsePrecomputedPrimes(false);

Additional sub keys

This version also allows the creation of additional sub keys. Check the examples how to create and add a new sub key to an existing key pair and how to remove a sub key.

New importKey method

The existing methods for importing individual keys into a com.didisoft.pgp.KeyStore were cumbersome, because the result from the operation was an array of com.didisoft.pgp.KeyPairInformation objects, instead of a single object. Now you can use a new KeyStore.importKey method instead that works over private, public and combined keys.