邏輯和實體存放區
默認系統存放區,包括 MY、CA 和 ROOT,會實作為邏輯集合存放區,其中有許多預先定義的實體存放區作為其成員存放區。 系統存放區的成員實體存放區會在系統存放區開啟時自動開啟。 用戶可以將其他實體存放區新增至任何系統存放區集合。 CryptoAPI 函式 CertRegisterPhysicalStore 將新的實體存放區新增至系統存放區集合。 CertUnregisterPhysicalStore 將實體存放區與邏輯系統存放區解除關聯。 CertRegisterSystemStore 會在登錄 hKey 下建立新的系統存放區,而 CertUnregisterSystemStore 會從登錄中移除系統存放區。
在 CryptoAPI 中,系統存放區是具有相關聯實體存放區的邏輯存放區。 現有系統存放區中的所有憑證仍可供使用,而新憑證的實體新增是在組成邏輯系統存放區的實體存放區中建立。
想要繼續使用實體系統存放區,而不是轉換成邏輯存放區的使用者,可以使用CERT_STORE_PROV_SYSTEM_REGISTRY提供者開啟系統存放區。 此提供者會繼續使用每個系統存放區作為單一實體存放區。
函式 CertEnumSystemStoreLocation、CertEnumSystemStore和 CertEnumPhysicalStore 列出系統存放區位置、可用的系統存放區,以及屬於系統存放區成員的所有實體存放區。
系統存放區也可以重新放置。 根據預設,系統會在預先定義的模式下,相對於登錄子機碼開啟系統存放區。 如需詳細資訊,請參閱 系統存放區位置。 在傳遞至 CertOpenStore 的 dwFlags 參數中設定 CERT_SYSTEM_STORE_RELOCATE_FLAG, 將系統存放區放在使用者指定的登錄子機碼下,而不是預先定義的登錄子機碼下。