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.
Para criar uma mensagem assinada
Crie os dados (se necessário) e obtenha um ponteiro para ele.
Abra um repositório de certificados que contém o certificado do signatário.
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.
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.
Envie os dados por meio da função de hash usando o algoritmo de hash, criando assim um hash (resumo) dos dados.
Usando a chave privada obtida por meio da propriedade no certificado, criptografe o resumo, criando a assinatura.
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.