NET PGP Library
EncryptStreamAsync Method
Example 



KellermanSoftware.NetPgpLibrary Namespace > PgpEncryptorDecryptor Class : EncryptStreamAsync Method
The input stream
The encrypted output steam
The stream of the public key file
Use ASCII Armor
Encrypt a stream asynchronously
Syntax
'Declaration
 
<AsyncStateMachineAttribute(KellermanSoftware.NetPgpLibrary.PgpEncryptorDecryptor/d__18)> 
<DebuggerStepThroughAttribute()> 
Public Function EncryptStreamAsync( _ 
   ByVal sourceStream As Stream, _ 
   ByVal encryptedOutStream As Stream, _ 
   ByVal publicKeyStream As Stream, _ 
   ByVal armor As Boolean _ 
) As Task
'Usage
 
Dim instance As PgpEncryptorDecryptor
Dim sourceStream As Stream
Dim encryptedOutStream As Stream
Dim publicKeyStream As Stream
Dim armor As Boolean
Dim value As Task
 
value = instance.EncryptStreamAsync(sourceStream, encryptedOutStream, publicKeyStream, armor)
[AsyncStateMachine(KellermanSoftware.NetPgpLibrary.PgpEncryptorDecryptor/d__18)] 
[DebuggerStepThrough()] 
public Task EncryptStreamAsync( 
   Stream sourceStream, 
   Stream encryptedOutStream, 
   Stream publicKeyStream, 
   bool armor 
)
[AsyncStateMachine(KellermanSoftware.NetPgpLibrary.PgpEncryptorDecryptor/d__18)] 
[DebuggerStepThrough()] 
public: 
Task^ EncryptStreamAsync( 
   Stream^ sourceStream, 
   Stream^ encryptedOutStream, 
   Stream^ publicKeyStream, 
   bool armor 
) 

Parameters

sourceStream
The input stream
encryptedOutStream
The encrypted output steam
publicKeyStream
The stream of the public key file
armor
Use ASCII Armor
Example
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");
 
//Parameters
bool armor = true;
using (var clearStream = File.OpenRead(inputFilePath))
{
    using (var cryptoStream = new MemoryStream())
    {
        using (var publicKeyStream = File.OpenRead(publicKeyFilePath))
        {
            await pgpEncryptorDecryptor.EncryptStreamAsync(clearStream, cryptoStream, publicKeyStream, armor);
        }
    }
}
Dim pgpEncryptorDecryptor As New PgpEncryptorDecryptor() 'Trial Mode
'Dim pgpEncryptorDecryptorLicensed As 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
Dim username As String = "username"
Dim password As String = "password"
Dim directoryForKeys As String = Directory.GetCurrentDirectory()
Dim publicKeyFilePath As String = Path.Combine(directoryForKeys, "public.asc")
Dim privateKeyFilePath As String = Path.Combine(directoryForKeys, "private.asc")
 
pgpEncryptorDecryptor.GenerateKeyPairFiles(username, password, publicKeyFilePath, privateKeyFilePath)
 
'Create a test file
Dim directoryForFiles As String = Directory.GetCurrentDirectory()
Dim inputFilePath As String = Path.Combine(directoryForFiles, "input.txt")
File.WriteAllText(inputFilePath, "This is a test")
 
'Parameters
Dim armor As Boolean = True
Using clearStream = File.OpenRead(inputFilePath)
    Using cryptoStream = New MemoryStream()
        Using publicKeyStream = File.OpenRead(publicKeyFilePath)
            Await pgpEncryptorDecryptor.EncryptStreamAsync(clearStream, cryptoStream, publicKeyStream, armor)
        End Using
    End Using
End Using
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

PgpEncryptorDecryptor Class
PgpEncryptorDecryptor Members