OpenPGP Library for .NET 1.9.0 can import from GnuPG Keybox files

We are happy to announce version 1.9.0 of DidiSoft OpenPGP Library for .NET which supports the new public Keybox storage format used in GnuPG from version 2 and above. The import of keys from a GnuPG .kbx file is performed with a dedicated method KeyStore.ImportGnuPgKbx A short example can be seen here: C# example using […]

Continue reading


OpenPGP Library for .NET 1.8.5.31 fixes RSA signatures problem with Java 7+

Half a year ago we have released version 1.8.3.5 which addressed compatibility with OpenPGP signatures verification with systems build with Java version 7 and above. Unfortunately it ended that we have introduced an additional bug at that time that brakes signature verification for each 1 out of 500 files created with RSA key and SHA-1 hash digest. […]

Continue reading


Recent updates in OpenPGP Library for .NET 1.8.5

The new version of DidiSoft OpenPGP Library for .NET 1.8.5 starts with some new features that simplify key management and enhanced key export. Below you can see some short code samples illustrating the new features: KeyStore access by Index Additional signing sub keys Partial private key export KeyStore access by Index DidiSoft.Pgp.KeyStore items can now […]

Continue reading


GnuPG 2.2.8 compatibility for .NET

As of version 2.2.8, GnuPG/gpg will not accept encrypted or signed and encrypted .pgp files which don’t have integrity protection packet, also known as Modification detection code (MDC packet). This will be the default behavior of GnuPG from now on, and is their answer to the EFAIL attack. Our product OpenPGP Library for .NET exposes […]

Continue reading


Compatibility with Java 7+ RSA signatures

As of Java version 7 and above the RSA digital signatures computation has been changed and signatures that were previously accepted by software build with Java may end being rejected with message like: “unable to verify signature: Signature length not correct: got 511 but was expecting 512” Solutions using DidiSoft OpenPGP Library for .NET may […]

Continue reading


Should DidiSoft OpenPGP Library for .NET provide strong name assemblies or unsigned assemblies?

Last week we have sent a short survey to subscribers for our OpenPGP Library for .NET mailing list. The survey had only one question: Should DidiSoft OpenPGP Library for .NET provide strong name (signed) assemblies (DLL’s) or plain unsigned assemblies? At the end of this post you will find the results of the survey, but […]

Continue reading


OpenPGP Library for .NET in Mono

DidiSoft OpenPGP Library for .NET can be used without any problems in Mono projects under Mac OSX and Linux. The library DLL files that you have to reference in your Mono project are the ones located in the root of the \Bin folder. A limitation for Mono developers is that they have to first install the library […]

Continue reading


Using a public key by mistake when decrypting

A common scenario that we have evidenced in our technical support practice for DidiSoft OpenPGP Library for .NET is that some customers by mistake try to decrypt .pgp files with an OpenPGP public key. Although the exception was of class DidiSoft.Pgp.Exceptions.WrongPrivateKeyException,  the exception text so far wasn’t very helpful and it stated: “Decryption of data encrypted […]

Continue reading