Freigeben über


Überprüfen einer CTL

Um es einem Interloper zu erschweren, eine gefälschte Zertifikatvertrauensliste (Certificate Trust List , CTL) durch eine vorhandene zu ersetzen, überprüfen Sie bei jeder Verwendung der Zertifikatsperrliste die Signatur auf der CTL. Verwenden Sie keine CTL, die keine vertrauenswürdige Signatur enthält.

So überprüfen Sie eine CTL-Signatur

  1. Öffnen Sie den Zertifikatspeicher , der die gewünschte CTL enthält.
  2. Rufen Sie ein Handle für eine CTL_CONTEXT für die CTL ab. Dies kann durch Aufrufen einer der Funktionen erfolgen, die ein Handle an den CTL_CONTEXT zurückgeben, z. B. CertFindCTLInStore.
  3. Rufen Sie CryptMsgGetAndVerifySigner auf, und übergeben Sie die in Schritt 2 im hCryptMsg-Parameter abgerufene CTL_CONTEXT, ein Handle an den Zertifikatspeicher, der das Zertifikat der vertrauenswürdigen Quelle für CTLs im Parameter rghSignerStore enthält, und das CMSG_TRUSTED_SIGNER_FLAG im dwFlags-Parameter. Wenn die Funktion TRUE zurückgibt, wurde die Signatur überprüft, und im ppSigner-Parameter wird ein Zeiger auf die PCCERT_CONTEXT des CTL-Unterzeichners zurückgegeben.