Vérification d’une liste CTL

Pour compliquer la tâche d’un Interloper pour remplacer une liste de certificats de confiance (CTL) erronée pour une liste existante, vérifiez la signature sur la liste CTL chaque fois que la liste CTL est utilisée. N’utilisez pas de liste CTL qui ne contient pas de signature approuvée.

Pour vérifier une signature CTL

  1. Ouvrez le magasin de certificats contenant la liste de certificats de confiance souhaitée.
  2. Obtient un handle vers un _ contexte CTL pour la liste CTL. Pour ce faire, vous pouvez appeler l’une des fonctions qui retournent un handle vers le _ contexte de la liste de certificats de confiance, par exemple CertFindCTLInStore.
  3. Appelez CryptMsgGetAndVerifySigner, en passant le _ contexte de la liste de certificats de confiance récupéré à l’étape 2 dans le paramètre hCryptMsg , un descripteur du magasin de certificats contenant le certificat de la source approuvée pour les listes CTL dans le paramètre rghSignerStore et l' _ indicateur de signataire approuvé CMSG _ _ dans le paramètre dwFlags . Si la fonction retourne la valeur true, la signature a été vérifiée et un pointeur vers le _ contexte PCCERT du signataire de la liste de certificats de confiance est retourné dans le paramètre ppSigner .