Inicializar o Gerenciador de Assinaturas

Este tópico descreve como inicializar o gerenciador de assinaturas para uso com um documento XPS.

Antes de utilizar os seguintes exemplos de código no seu programa, leia a declaração de exoneração de responsabilidade em Common Digital Signature Programming Tasks.

Para utilizar as funcionalidades do Windows 7 da Cripto-API, defina o símbolo CRYPT_OID_INFO_HAS_EXTRA_FIELDS da seguinte maneira:

#define CRYPT_OID_INFO_HAS_EXTRA_FIELDS

Em seguida, instancie uma interfaceIXpsSignatureManager chamando CoCreateInstance, conforme mostrado no exemplo de código a seguir.

IXpsSignatureManager    *newInterface;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsSignatureManager),
    NULL, 
    CLSCTX_INPROC_SERVER,
    __uuidof(IXpsSignatureManager),
    reinterpret_cast<LPVOID*>(&newInterface));

// make sure that you got a pointer 
// to the interface
if (SUCCEEDED(hr)) {
    // Load document into signature manager from file.
    //  xpsDocument is initialized with the file name
    //  of the document to load outside of this example.
    hr = newInterface->LoadPackageFile (xpsDocument);

    // Use newInterface

    // Release interface pointers when finished with them 
    newInterface->Release();
}    

A interface instanciada por CoCreateInstance pode ser usada por apenas um documento XPS, que deve ser carregado chamando LoadPackageFile ou LoadPackageStream antes de chamar qualquer outro método.

Depois que a interfaceIXpsSignatureManager tiver sido instanciada e um documento XPS tiver sido carregado, o gerenciador de assinaturas estará pronto para uso.

Próximos passos

assinar um documento

Adicionar uma solicitação de assinatura a um documento XPS

Verificar assinaturas de documentos

Utilizados Nesta Secção

CoCreateInstance

IXpsSignatureManager

Para mais informações

Erros de API de assinatura digital XPS

Erros de documento XPS

Especificação de Papel XML