.NET PGP Library

$ 19.95


"We had a last minute need to come up with a solution to decrypt files from one of our clients. We found Kellerman Software's site, saw the .NET PGP library and gave it a shot. The implementation was so straight forward the solution was ready in just a few hours."

Dave Cagle
Solutions Architect

  • Encrypt/Decrypt files or streams with PGP using a single line of code
  • Generate public/private key pairs
  • Add data integrity packets
  • Output to ASCII using ASCII Armor
  • Supports PGP Version 2 or PGP Version 3
  • Encrypt/Decrypt synchronously or asychronously
  • Compatible with GPG4Win, PGP Command Line, Symantec Desktop, File Assurity
  • Leverages Bouncy Castle Encryption Algorithms which are FIPS Compliant

While it can be purchased separately, this product is also included in the Gold Suite. Gold Suite subscribers receive all product updates and all new products as part of a yearly subscription. It is the best value in the industry.

Download a free 30 day trial today.

  • Full working version
  • Includes technical support
  • Works with .NET 4.5 and higher

Download Options

The CSV Reports Library requires the following system configuration.

  • Windows XP with SP2, Windows Vista, Windows 7, Windows 8, Windows 10, Windows Server 2003, Windows Server 2008, Windows Server 2012, or Windows Server 2016
  • .NET Framework 4.5, 4.5.1, or 4.6

PgpEncryptorDecryptor pgpEncryptorDecryptor = new PgpEncryptorDecryptor(); //Trial Mode

//PgpEncryptorDecryptor pgpEncryptorDecryptor = new PgpEncryptorDecryptor("place user name here", "place license key here"); //License Mode


// we need to generate the keys first if we haven't got them already

string username = "username";

string password = "password";

string directoryForKeys = Directory.GetCurrentDirectory();

string publicKeyFilePath = Path.Combine(directoryForKeys, "public.asc");

string privateKeyFilePath = Path.Combine(directoryForKeys, "private.asc");


pgpEncryptorDecryptor.GenerateKeyPairFiles(username, password, publicKeyFilePath, privateKeyFilePath);


//Create a test file

string directoryForFiles = Directory.GetCurrentDirectory();

string inputFilePath = Path.Combine(directoryForFiles, "input.txt");

File.WriteAllText(inputFilePath, "This is a test");


string encryptedFilePath = Path.Combine(directoryForFiles, "encrypted.pgp");

bool armor = true;


pgpEncryptorDecryptor.EncryptFile(inputFilePath, encryptedFilePath, publicKeyFilePath, armor);


// decrypt file         

string decryptedFilePath = Path.Combine(directoryForFiles, "decrypted.txt");

pgpEncryptorDecryptor.DecryptFile(encryptedFilePath, decryptedFilePath, privateKeyFilePath, "password");

Q: How do I use my license key?
A: PgpEncryptorDecryptor pgpEncryptorDecryptor = new PgpEncryptorDecryptor("place user name here", "place license key here");

Q: I lost my license key how do I retrieve it?
A: Go to your account

Q: I lost my software how do I retrieve it?
A: Go to downloads

Q: Where can I download the latest version of my software?
A: Click the download tab.

Q: How does the licensing work?
A: Each developer that uses the library must have a license. You may distribute your application to end users royalty free. A site license is for all the developers in a single building.

Q: What happens when the trial expires?
A: An exception is thrown, indicating that the trial is expired.

Date Version Description
2/23/2016 1.0.0 Initial Release. Encrypt/Decrypt files and streams with PGP using a single line of code. Generate public and private key pairs.
6/11/2017 1.05 Nicer exception message when attempting to decrypt a file that is not encrypted.
9/12/2019 1.11 This release supports files larger than 1GB. It also adds builds for .NET Framework 4.7, 4.7.1, 4.7.2, and 4.8