Usando a API de Assinatura Digital do XPS

Este tópico lista considerações sobre como usar a API de Assinatura Digital XPS para adicionar assinaturas digitais a um documento XPS.

A API de Assinatura Digital XPS permite que os aplicativos solicitem aos usuários que assinem documentos XPS e verifiquem as assinaturas encontradas em documentos XPS. A API de Assinatura Digital XPS pode ser aplicada a um documento XPS sem carregá-la em um OM XPS e pode ser usada em fluxos de documentos XPS serializados de um OM XPS.

A seção Tarefas de Programação da API de Assinatura Digital XPS contém tópicos que descrevem como programar com a API de Assinatura Digital XPS. Este tópico lista as seguintes considerações sobre como usar a API de Assinatura Digital XPS ao adicionar suporte de assinatura digital a um aplicativo.

Tarefas de programação da API de Assinatura Digital XPS

Esta seção contém tópicos que descrevem como executar tarefas de programação usando a API de Assinatura Digital XPS.

Inicializar o Gerenciador de Assinaturas
Assinar um documento
Adicionar uma solicitação de assinatura a um documento XPS
Verificar assinaturas de documento

Carregar um certificado de um arquivo
verificar se um certificado dá suporte a um método de assinatura
verificar se o sistema dá suporte a um método Digest
Inserir cadeias de certificados em um documento

Notas especiais sobre programação da API de Assinatura Digital do XPS

Os tópicos a seguir exigem uma consideração especial ao usar a API de Assinatura Digital XPS.

Verificando assinaturas digitais em um documento XPS

IXpsSignature::Verify verifica apenas o conteúdo assinado para assegurar que ele não foi alterado desde que foi assinado. IXpsSignature::Verify não verifica nenhum dos certificados que foram usados para assinar o conteúdo do documento.

Para obter mais informações sobre certificados e criptografia, consulte Sobre criptografia.

Para obter um exemplo de como verificar assinaturas de documento em um programa, consulte Verificar assinaturas de documento e certificados.

Política de Assinatura Digital

A política de assinatura digital determina quais partes de um documento XPS são assinadas. Uma opção de política de assinatura é assinar as relações de assinatura que começam na parte de origem da assinatura. Como as relações de assinatura mudam com cada assinatura adicionada, as assinaturas feitas nessa política serão interrompidas quando novas assinaturas forem adicionadas. Certifique-se de entender claramente as implicações e os efeitos da definição dessa política; caso contrário, um comportamento inesperado ou indesejado pode resultar.

Para obter mais informações sobre políticas de assinatura, consulte XPS_SIGN_POLICY.

Inserindo uma cadeia de certificados

Os certificados que compõem a cadeia de confiança de um certificado específico podem ser adicionados a um documento XPS. A inserção desses certificados pode facilitar, em cenários off-line, que um aplicativo verifique os certificados usados por uma assinatura digital.

Para obter mais informações sobre como inserir certificados em um documento XPS, consulte Inserir Cadeias de Certificados em um Documento.

Usando a estrutura CERT_CONTEXT

As estruturas CERT_CONTEXT e CERT_INFO são as principais estruturas de dados que contêm informações de certificado. Para obter mais informações sobre como usar essas estruturas, consulte Usando uma estrutura de dados CERT_INFO.

CERT_CONTEXT estruturas retornadas pelas funções de API de Criptografia devem ser liberadas quando não forem mais necessárias. Para liberar uma estrutura CERT_CONTEXT , chame a função CertFreeCertificateContext .

Tarefas comuns de programação de assinatura digital

Tarefas adicionais de programação de assinatura digital

CERT_CONTEXT

CERT_INFO

CertFreeCertificateContext

XPS_SIGN_POLICY

XML Paper Specification