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
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.