憑證鏈結

若要使用 憑證 進行安全性,必須驗證收到的每個憑證的真實性和有效性。 此驗證取決於信任的概念和信任委派;如需詳細資訊,請參閱 信任階層

每個憑證都包含一個主體欄位,可識別已核發憑證的個別或群組。 每個憑證也包含一個簽發者欄位,可識別憑證授權單位 單位 (CA) 能夠認證主體的身分識別。

憑證鏈結包含認證最終憑證所識別主體所需的所有憑證。 實際上,這包括結束憑證、中繼 CA 的憑證,以及鏈結中所有合作物件信任之根 CA 的憑證。 鏈結中的每個中繼 CA 都會在信任階層中保存 CA 上一層所簽發的憑證。 根 CA 會自行發出憑證。

驗證新接收憑證的真實性和有效性的程式牽涉到透過任何中繼 CA,檢查原始、通用信任 CA 鏈結中所有憑證,並向下檢查剛收到的憑證,也就是最終憑證。 只有在該憑證鏈結中的每個憑證都已正確發行且有效時,才能信任新的憑證。

追蹤所有備份新結束憑證的憑證可能會變得麻煩。 因此, CryptoAPI 2.0 技術提供函式,可自動建立任何指定結束憑證的憑證鏈結。 這些函式也會檢查並報告鏈結中每個憑證的有效性。

CryptoAPI 2.0 的鏈結建置和檢查函式會使用鏈結引擎來建立和驗證憑證鏈結。 鏈結引擎會定義憑證連結結基礎結構的存放區命名空間和快取資料分割。 CryptoAPI 2.0 為任何只使用預設系統存放 (區的應用程式進程提供預設鏈結引擎,例如 MY、Root、CA 和 Trust) ,以進行鏈結建置和快取。 應用程式可以藉由建立自己的鏈結引擎來定義自己的存放區命名空間,或有自己的分割快取。 為了達到最佳快取行為,建議您在應用程式啟動時建立單一鏈結引擎,並在應用程式的整個存留期內使用該鏈結引擎。

如需函式清單,請參閱 憑證鏈結驗證函式。 如需建置憑證鏈結並驗證憑證的程式,請參閱 範例 C 程式:建立憑證鏈結