Author: Brian Jones BLOG: http://bajwork.spaces.live.com/ E-Mail: jonesb321@gmail.com ########################################################################################################################################################### Version 1.1.1 - Released 31JUL2007 See Version 1.0 for instructions on installation and use Release Notes: 1 - Resolved error raised when Temp Directory value was not supplied. Error raised: Path cannot be the empty string or all whitespace. REVISED - 11SEP2007 It was brought to my attention that I did not include instructions for obtaining the crypto.dll file. In my original post (http://bajwork.blogspot.com/2007/08/pgp-pipeline-component.html), I mentioned that you had to download the Bouncy Castle source code as I didn't feel it was appropriate for me to distribute it. Also, you will need to strongly name the assembly. ########################################################################################################################################################### Version 1.1 - Released 27JUL2007 See Version 1.0 for instructions on installation and use Release Notes: 1 - Added Pipeline Component property of Extension. This allows you to specify what extension you want to place at the end of your encrypted file. The default value is PGP. 2 - Added capability to decrypt a signed message. 3 - Updated decryption to handle other than .PGP extension. Previously hard coded to remove only the .pgp from the filename. 4 - Updated TestFixture form to be more user friendly. You can now specify where you want your output file to be generated. 5 - Minor code changes that don't necessarily affect logic, but may improve performance. ########################################################################################################################################################### Version 1.0 - Released 06JUL2007 Note: This code was created with the RTM versions of VS2005 and BTS 2006. 1 - Unzip PGP.zip to the C:\ drive. The contents will be created in C:\Projects\Misc\PGP. - Sorry for the goofy pathing. You can change it to exist in another folder, but there are some hard coded paths in the test fixture, the example, and the binding files. 2 - Open C:\Projects\Misc\PGP\PGP.sln in VS2005. 2.a - Build the soultion. - The post-build commands will copy the DLL to C:\Program Files\Microsoft BizTalk Server 2006\Pipeline Components. If you installed BTS 2006 in a different location, you will need to modify this. 3 - Open C:\Projects\Misc\PGP\PGPExample\PGPExample.sln in VS2005. 3.a - Deploy the soultion. - The solution will be deployed to a new BTS Application Group called PGPPipelineComponent. 3.b - Import the following bindings file: C:\Projects\Misc\PGP\Binding Files\PGPPipelineComponent.BindingInfo.xml 4 - Execution of the Example 4.a - To Encrypt a file, place the file in C:\Projects\Misc\PGP\Ports\In\Encrypt. - The encrypted file will be created in C:\Projects\Misc\PGP\Ports\Out\ and is created using the filemask of Encrypted_%SourceFileName% - A sample file "Plain Text.txt" has been provided. 4.b - To Decrypt a file, place the file in C:\Projects\Misc\PGP\Ports\In\Decrypt. - The decrypted file will be created in C:\Projects\Misc\PGP\Ports\Out\ and is created using the filemask of Decrypted_%SourceFileName% - A sample file "Plain Text.txt.pgp" has been provided. 5 - Sample keys (including passphrase) have been provided at: C:\Projects\Misc\PGP\PGPExample\PGPKeys 6 - Sample files have been provided at: C:\Projects\Misc\PGP\PGPExample\Sample Files