Compartilhar via


Criando uma mensagem assinada

A ilustração a seguir ilustra as tarefas que devem ser realizadas para criar uma mensagem assinada. As etapas são listadas após a ilustração.

signing a message

Para criar uma mensagem assinada

  1. Crie os dados (se necessário) e obtenha um ponteiro para ele.

  2. Abra um repositório de certificados que contém o certificado do signatário.

  3. Obtenha a chave privada do certificado. Uma propriedade deve ser definida no certificado antes de usá-lo, para vincular um certificado a um CSP específico e, dentro desse CSP, a uma chave privada específica. Isso precisa ser definido uma vez.

  4. Escolha um algoritmo de hash para a operação de digestão. Recomendamos que o algoritmo de hash seja selecionado em um local configurável que possa ser atualizado posteriormente sem exigir alterações no código.

  5. Envie os dados por meio da função de hash usando o algoritmo de hash, criando assim um hash (resumo) dos dados.

  6. Usando a chave privada obtida por meio da propriedade no certificado, criptografe o resumo, criando a assinatura.

  7. Inclua o seguinte na mensagem assinada:

    • Os dados assinados
    • O algoritmo hash
    • A assinatura
    • O identificador do signatário (emissor de certificado e número de série)
    • O certificado do signatário (opcional)

Para obter um procedimento detalhado e um exemplo, consulte Procedimento para assinar dados e exemplo C Program: Assinando uma mensagem e verificando uma assinatura de mensagem.