Decrypting a Document
Decrypting a document using a SENxContext.
Decrypting a fax document (cryptogram) is much easier than the encryption process that created it. After receiving a fax document, the application can easily determine if the FaxImage content is a cryptogram by using the IsCryptogram() method. If the received fax contents are indeed a cryptogram, the process is essentially reversed.
In the following example, a SENxContext is created using the static method FromCryptogram(). Because the cryptogram contains all information necessary to create the context, it is done with only the cryptogram as the input. Once the context is created, the application loads the private key it has stored followed by the call to Decrypt(), which both validates and decrypts the information contained in the cryptogram. The resulting byte[] array is the original content as transmitted by the sender.
Details of this process are explained here
Programming Example
For the sake of brevity, this programming example has omitted error checking.
// initialize SENx
SENx.Initialize();
try
{
// receive a fax
var fax = client.GetFax(JobId);
if (SENxContext.IsCryptogram(fax.FaxImage))
{
// create context from cryptogram
using (var decrypt = SENxContext.FromCryptogram(fax.FaxImage))
{
// load private key
res = decrypt.LoadKeyFromFile(PrivateKeyFile);
Console.WriteLine("LoadKeyFromFile: " + res);
// decrypt cryptogram
var data = decrypt.Decrypt(cryptogram);
if (data != null)
{
// original now in data
// ...
}
}
}
}
catch (CryptoException e)
{
Console.WriteLine("CryptoException: {0} {1}", e.Result, e.Message);
}
// release all resources
SENx.Cleanup();
Updated about 6 years ago