Uso da 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 que os usuários assinem documentos XPS e verifiquem assinaturas encontradas em documentos XPS. A API de assinatura digital XPS pode ser aplicada a um documento XPS sem carregá-lo em um OM XPS e pode ser usada em fluxos de documentos XPS serializados a partir 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 para usar a API de assinatura digital igital XPS ao adicionar suporte a 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 documentos

Carregar um certificado de um arquivo
Verifique se um certificado oferece suporte a um método de assinatura
Verifique se o sistema oferece suporte a um método Digest
Incorporar cadeias de certificados em um documento

Notas especiais sobre a programação da API de assinatura digital XPS

Os tópicos a seguir exigem alguma 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 determinar 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 e certificados de documento.

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 a cada assinatura adicionada, as assinaturas feitas sob essa política serão interrompidas quando novas assinaturas forem adicionadas. Certifique-se de que compreende claramente as implicações e os efeitos da definição desta política; caso contrário, um comportamento inesperado ou indesejado pode acontecer.

Para obter mais informações sobre como assinar políticas, consulte XPS_SIGN_POLICY.

Incorporando 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 incorporação desses certificados pode facilitar, em cenários offline, que um aplicativo verifique os certificados usados por uma assinatura digital.

Para obter mais informações sobre como incorporar certificados em um documento XPS, consulte Incorporar 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.

Estruturas CERT_CONTEXT retornadas pelas funções da 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