Decrypts and verifies a PGP encrypted and signed file

Namespace:  DidiSoft
Assembly:  PGPLib (in PGPLib.dll) Version: 1.6.3.19546

Syntax

C#
public bool DecryptAndVerifyFile(
	string encryptedFileName,
	KeyStore keyStore,
	string privateKeyPassword,
	string outputFileName
)
Visual Basic (Declaration)
Public Function DecryptAndVerifyFile ( _
	encryptedFileName As String, _
	keyStore As KeyStore, _
	privateKeyPassword As String, _
	outputFileName As String _
) As Boolean
Visual C++
public:
bool DecryptAndVerifyFile(
	String^ encryptedFileName, 
	KeyStore^ keyStore, 
	String^ privateKeyPassword, 
	String^ outputFileName
)

Parameters

encryptedFileName
Type: System..::.String
File name to be decrypted (absolute or relative path)
keyStore
Type: DidiSoft..::.KeyStore
Key store instance containing the Private Key for decryption and the other party Public key for verification
privateKeyPassword
Type: System..::.String
Private key password
outputFileName
Type: System..::.String
File name of the Output decrypted file (absolute or relative path). Optional parameter.
If empty the name stored in the PGP decrypted file is used.

Return Value

true if signature is valid, false if signature is invalid

Remarks

Supports OpenPGP version 3 signatures format (used by PGP 2.6 systems).

Examples

CopyC#
 using System;
 using DidiSoft;

 public class KeyStoreDecryptAndVerifyFile
 {
 public static void Demo()
{
          KeyStore keyStore = new KeyStore(@"DataFiles\key.store", "changeit");        
          PGPLib pgp = new PGPLib();    

          bool validSigning = pgp.DecryptAndVerifyFile(@"DataFiles\OUTPUT.pgp", 
                                                      keyStore, 
                                                      "private key password", 
                                                      @"DataFiles\OUTPUT.txt");
          Console.WriteLine("Signature is valid: " + validSigning);

 } 
}
CopyVB.NET
Imports System
Imports DidiSoft

Public Class KeyStoreDecryptAndVerifyFile
 Public Shared Sub Demo()
         Dim keyStore As New KeyStore("DataFiles\key.store", "changeit")
         Dim pgp As new PGPLib()

         Dim validSigning As Boolean = pgp.DecryptAndVerifyFile("DataFiles\OUTPUT.pgp", _
                                                             keyStore, _
                                                             "private key password", _
                                                             "DataFiles\OUTPUT.txt")
         Console.WriteLine("Signature is valid: " + validSigning)
 End Sub
End Class

Exceptions

ExceptionCondition
PgpExceptionif an error has occured
System.IO..::.IOExceptionif a problem has occured reading input file

See Also