Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Uma única função, CryptSignMessage, executa todas as tarefas listadas em Criando uma mensagem assinada. No entanto, a inicialização de estruturas e outros dados ainda é necessária. A ilustração a seguir mostra a relação entre os parâmetros de função que apontam para estruturas ou matrizes e seus dados inicializados. A ilustração mostra apenas os parâmetros de função e membros da estrutura que são derivados de outras estruturas ou funções. O resto dos parâmetros são inicializações diretas.
Para assinar dados usando CryptSignMessage
- Obtenha um ponteiro para os dados que serão assinados.
- Atribua o ponteiro dos dados ao índice zero de uma matriz de "dados a assinar".
- Obtenha um identificador para o provedor de criptografia.
- Abra um armazenamento de certificados que contenha o certificado do signatário.
- Obtenha um endereço para o certificado do signatário.
- Atribua o endereço do certificado ao índice zero da matriz MsgCert.
- Atribua os endereços de quaisquer outros certificados a serem incluídos com a mensagem à matriz MsgCert.
- Inicialize a estrutura CRYPT_ALGORITHM_IDENTIFIER, inicializando o membro pszObjId para o algoritmo de hash desejado e os outros membros conforme apropriado.
- Inicialize a estrutura CRYPT_SIGN_MESSAGE_PARA, inicializando o membro pSigningCert ao endereço do certificado do signatário, o membro da matriz MsgCert ao endereço dos certificados do signatário e de outros, o membro HashAlgorithm ao endereço da estrutura CRYPT_ALGORITHM_IDENTIFIER, e os outros membros conforme apropriado.
- Chame a função CryptSignMessage, passando a estrutura CRYPT_SIGN_MESSAGE_PARA para o parâmetro pSignPara, o endereço da matriz „dados a serem assinados” para o parâmetro rgpbToBeSigned, um endereço para o parâmetro de saída pbSignedBlob, e valores para os outros parâmetros, conforme apropriado.