共用方式為


驗證 CTL

為了增加入侵者將假 憑證信任清單(CTL)取代現有清單的難度,請在每次使用 CTL 時驗證其上的簽章。 請勿使用不包含受信任簽章的 CTL。

驗證 CTL 簽章

  1. 開啟包含所需 CTL 的 證書存儲
  2. 取得 CTL 的 CTL_CONTEXT 句柄。 您可以呼叫任何能夠傳回 CTL_CONTEXThandle 的函式,例如 CertFindCTLInStore
  3. 呼叫 CryptMsgGetAndVerifySigner,傳遞在步驟 2 中擷取的 CTL_CONTEXThCryptMsg 參數、包含 CTL 信任來源憑證的證書存儲句柄至 rghSignerStore 參數,以及 CMSG_TRUSTED_SIGNER_FLAG 至 dwFlags 參數。 如果函式傳回 TRUE,則簽章已驗證,且 CTL 簽署者 PCCERT_CONTEXT 的指標會在 ppSigner 參數中傳回。