DidiSoft OpenPGP Library for .NET version 220.127.116.11 was shipped today. It offers creation of 2048 bit DSA master signing keys in DH/DSS (ElGamal) key pairs and signing keys with non exportable (local) signatures.
2048 bit DSAmaster signing keys
By default the library will create a 1024 bit DSA master signing key when generating a DH/DSS (ElGamal) key pair. In order to force the new functionality offering a 2048 bit DSA master key a special property Force2048bitDSA of the KeyStore class must be set:
1 2 3
KeyStore ks = new KeyStore(); ks.Force2048bitDSA = true; // now newly generated ElGamal keys will have a 2048 bit master signing key
Signing public keys with non exportable signature
If you need to sign public keys just for your own needs, then an overloaded version of the KeyStore.SignPublicKey method offers this functionality through its last parameter which indicates the signature exportability:
// ks is of type DidiSoft.Pgp.KeyStore bool exportable = false; ks.SignPublicKey("email@example.com", "my key user id", "my password", exportable);
' ks is of type DidiSoft.Pgp.KeyStore Dim exportable As Boolean = False ks.SignPublicKey("firstname.lastname@example.org", "my key user id", "my password", exportable)
Fix in Web of Trust
When adding a new User Id to an Ultimately trusted key, the trust was lost due to a bug in the library. This has been fixed and the trust value will be preserved.
For a complete list of changes in this release, please check the release notes.