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

Download sample

Building the Sample

  • 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.

Running the Sample

  • To run the compiled sample from the build environment command window, execute the .exe file in the Bin\Debug or Bin\Release folder contained under the sample source code folder.

  • To run the compiled sample with debugging in Visual Studio, press F5.

See Also

Tasks

Reading a Package Sample

Writing a Package Sample

Concepts

Documents in Windows Presentation Foundation

isXPS Conformance Tool