OpenPGP Library for .NET

Why should OpenPGP cryptography be complex when it can be as easy as:


PGPLib pgp = new PGPLib();
// should output be ASCII or binary
bool asciiArmor = false;
// encrypt
Dim pgp As New PGPLib()
' should output be ASCII or binary
Dim asciiArmor As Boolean = False
' encrypt
pgp.EncryptFile("C:\INPUT.txt", _
                "C:\recipient_public_key.asc", _
                "C:\OUTPUT.pgp", _

or if using NuGet: PM> Install-Package DidiSoft.Pgp.Trial

If you’re looking for a way to add extra security to your .NET applications, there is no need to search anywhere than DidiSoft OpenPGP Library for .NET. With support for encryption, decryption, key generation, and more, this library has everything you need to keep your data safe and compatible with PGP® and GnuPG®. Plus, it’s written entirely in managed code, so there are no external dependencies.

The library API is easy and you can tune in the provided examples and smoothly adapt them for your use case. Check out our Online Examples section for more information.

Download trial version or use NuGetPM> Install-Package DidiSoft.Pgp.Trial

Current version:
Build date: 06 June 2024

The Library decrypts and encrypts files that can be opened with the following software:

.net OpenPGP Library Box Shot

  • Symantec Encryption Desktop
  • Symantec PGP ® Command Line
  • McAfee E-Business Server
  • GnuPG (gpg), Gpg4Win, WinPT
  • Authora EDGE
  • Articsoft FileAssurity

Supported Platforms

  • .NET 5 – 9
  • .NET Framework 3.5 – 4.8
  • .NET Standard 2.0, 2.1
  • Windows 10 Universal Platform (UWP)
  • Silverlight 3 – 5
  • Windows Store/WinRT
  • Xamarin.Android
  • Xamarin.Mac
  • Xamarin.iOS

Royalty free distribution
There are no hidden costs. Distribute the library with no fees to pay.

Trial Version Limitations

  • 30 days evaluation copy

Online Examples

C# and VB.NET examples can be found here.

OpenPGP for yubikeyAdditional information

Subscribe to the OpenPGP Library for .NET Newsletter