Creating a Package with a Digital Signature Sample
This sample shows how to write a XML Paper Specification (XPS) package with digitally signed content, and then read and validate the signed elements. In executing the PackageDigitalSignature sample, given elements in the provided "Content" and "Resources" folders are output and then digitally signed within a new XPS myPackage.package file. To sign the content elements, your system must have an X.509 certificate manager installed such as for use with a SmartCard (the program will display an error message and exit if a certificate manager is not installed and running). The output myPackage.package file is in fact a ZIP file that contains the package's content, resource, and relationship elements that have been digitally signed. Since the myPackage.package file is deleted and recreated each time the sample is executed, reference copies of myPackage.package are provided in the files myPackage-sample.package and myPackage-sample.package.zip (a duplicate of myPackage-sample.package with a .zip extension to make it easy to open and explore). In a second operation the digital signatures of the files with myPackage.package are validated, and the contents from the file are extracted into a "Target" folder with "Content" and "Resources" sub-folders containing the original content and resource data files.
This sample demonstrates a specific feature of the Windows Presentation Foundation (WPF) and, consequently, does not follow application development best practices. For comprehensive coverage of Windows Presentation Foundation (WPF) and Microsoft .NET Framework application development best practices, refer to the following as appropriate:
Accessibility - Accessibility Best Practices
Security - Windows Presentation Foundation Security
Localization - WPF Globalization and Localization Overview
Install the Windows Software Development Kit (SDK) and open its build environment command window. On the Start menu, point to All Programs, Microsoft Windows SDK, and then click CMD Shell.
Download the sample, usually from the software development kit (SDK) documentation, to your hard disk drive.
To build the sample from the build environment command window, go to the source directory of the sample. At the command prompt, type MSBUILD.
To build the sample in Microsoft Visual Studio, load the sample solution or project file and then press CTRL+SHIFT+B.