.NET PGP Library
"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."
.NET PGP Encryption C# Library - The Best PGP .Net Component by Kellerman Software
- Perform encryption and decryption of files with a single line of code.
- Perform encryption and decryption of streams with 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
- Use synchronous or asynchronous encryption/decryption.
- Compatible with GPG4Win, PGP Command Line, Symantec Desktop, File Assurity.
- Leverages Bouncy Castle Encryption Algorithms which are FIPS Compliant.
- Desktop application demo in C# and VB.NET
- .NET Core Demo in C#
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 of the .NET PGP Library.
- Full working version
- Includes technical support
- Works with .NET 4.5 and higher
The .NET PGP Encryption Library requires the following system configuration.
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 for the PGP Library?
A: PgpEncryptorDecryptor pgpEncryptorDecryptor = new PgpEncryptorDecryptor("place user name here", "place license key here");
Q: I lost my license key to the .NET PGP Component 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 the component?
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.
|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|
|12/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|
|9/15/2020||1.13||Update to Bouncy Castle 1.8.6 for regular .NET Framework and 1.8.7 for .NET Standard.|