We are pleased to announce the release of OpenPGP Library for .NET 1.9.4 which offers a completely rewritten Async method support for the cryptography methods in the PGPLibAsync class. This version is backward compatible with version 1.9.3.x on code level, but your applications must be rebuild and redeployed with version 1.9.4. The main reason that […]
.NET PGP
OpenPGP for .NET with SHA-256 User ID signatures
As of version 1.9.3.21 DidiSoft OpenPGP Library for .NET creates OpenPGP keys using SHA-256 signature for the key User ID. What’s the purpose of the signature? An OpenPGP Key in addition to the cipher parameters contains also additional information one of which is the User ID of the key owner, for example, “John Doe <john@gmail.com>“; […]
EdDsa and Curve25519 keys in C#
DidiSoft OpenPGP Library for .NET version 1.9.3 offers support for the creation of Elliptic Curve Cryptography (ECC) PGP keys based on Curve-25519. What is Curve-25519? Curve-25519 is one of the fastest ECC curves and is not covered by any known attack patents. The first Elliptic Curves introduced in OpenPGP standard were the NIST curves. Their […]
Blazor server app with PGP encryption
Recently we were asking ourselves will OpenPGP Library for .NET work in a Blazor application. As you probably know there are two types of Blazor applications, server and WASM (web assembly). In this article, we will demonstrate the usage of the library in a server application. For WASM a few words will be said at […]
Custom storage and key modification events for the KeyStore class
DidiSoft OpenPGP Library for .NET till now offered only a file-based mass key storage and temporary in-memory located one. In the latest version 1.9.1.31 has been implemented extended support for a custom key storage location. An example of such storage of the keys is a BLOB field in a database. In addition, this version of […]
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 […]
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. […]
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 […]
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 […]
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 […]