Verificando uma CTL
Para tornar mais difícil para um interloper substituir uma CTL ( lista de confiança de certificado ) falsa por uma existente, verifique a assinatura na CTL sempre que a CTL for usada. Não use uma CTL que não contenha uma assinatura confiável.
Para verificar uma assinatura CTL
- Abra o repositório de certificados que contém a CTL desejada.
- Obtenha um identificador para um CTL_CONTEXT para a CTL. Isso pode ser feito chamando qualquer uma das funções que retornam um identificador para o CTL_CONTEXT, como CertFindCTLInStore.
- Chame CryptMsgGetAndVerifySigner, passando o CTL_CONTEXT recuperado na etapa 2 no parâmetro hCryptMsg , um identificador para o repositório de certificados que contém o certificado da fonte confiável para CTLs no parâmetro rghSignerStore e o CMSG_TRUSTED_SIGNER_FLAG no parâmetro dwFlags . Se a função retornar TRUE, a assinatura foi verificada e um ponteiro para o PCCERT_CONTEXT do signatário CTL será retornado no parâmetro ppSigner .