About XPS Digital Signature API
XPS documents can have digital signatures to allow users to sign a document, verify the identity of the signer, and indicate whether an XPS document has changed since it was signed. A native Windows application can use the interfaces of the XPS Digital Signature API to perform digital signature operations on an XPS document. This section provides an overview of the XPS Digital Signature API.
The IXpsSignatureManager interface manages the digital signature operations on an XPS document. Before an application can access the digital signatures of an XPS document, the application must call CoCreateInstance to create an IXpsSignatureManager and then call IXpsSignatureManager::LoadPackageFile or IXpsSignatureManager::LoadPackageStream to load the XPS document. For more information about this initialization process, see Initialize the Signature Manager.
After an XPS document has been loaded into an IXpsSignatureManager interface, an application can then access the document's digital signatures and digital signature requests. You can access the digital signatures by using an IXpsSignature interface from the signature manager's IXpsSignatureCollection interface. An application can also add and remove IXpsSignature interfaces from the collection. Signature requests are accessed by using IXpsSignatureRequest which are collected in an IXpsSignatureRequestCollection interface. The IXpsSignatureRequestCollection is part of an IXpsSignatureBlock interface which are collected in the IXpsSignatureBlockCollection of the signature manager.
Applications can use the IXpsSigningOptions of the signature manager to access and set digital signature options.
For examples of how to access the digital signatures of an XPS document, see Common Digital Signature Programming Tasks.