Archivi logici e fisici
Gli archivi di sistema predefiniti, tra cui MY, CA e ROOT, vengono implementati come archivi di raccolte logiche con un numero di archivi fisici predefiniti come archivi membri. Gli archivi fisici membri di un archivio di sistema vengono aperti automaticamente quando viene aperto l'archivio di sistema. Un utente può aggiungere altri archivi fisici a qualsiasi raccolta di archivi di sistema. La funzione CryptoAPI CertRegisterPhysicalStore aggiunge un nuovo archivio fisico a una raccolta di archivi di sistema. CertUnregisterPhysicalStore disassocia un archivio fisico da un archivio di sistema logico. CertRegisterSystemStore crea un nuovo archivio di sistema in un hKey del Registro di sistema, mentre CertUnregisterSystemStore rimuove un archivio di sistema dal Registro di sistema.
In CryptoAPI gli archivi di sistema sono archivi logici con archivi fisici associati. Tutti i certificati in un archivio di sistema esistente rimangono disponibili e l'aggiunta fisica di nuovi certificati viene effettuata negli archivi fisici che costituiscono l'archivio di sistema logico.
Gli utenti che preferiscono continuare a usare archivi di sistema fisici e non convertire in archivi logici possono aprire archivi di sistema con il provider di CERT_STORE_PROV_SYSTEM_REGISTRY. Questo provider continuerà a usare ogni archivio di sistema come singolo archivio fisico.
Le funzioni CertEnumSystemStoreLocation, CertEnumSystemStore e CertEnumPhysicalStore elencano i percorsi dell'archivio di sistema, gli archivi di sistema disponibili e tutti gli archivi fisici membri di un archivio di sistema.
Gli archivi di sistema possono essere spostati anche. Per impostazione predefinita, un archivio di sistema viene aperto rispetto a una sottochiave del Registro di sistema seguendo un modello predefinito. Per altre informazioni, vedere Percorsi dell'archivio di sistema. L'impostazione CERT_SYSTEM_STORE_RELOCATE_FLAG nel parametro dwFlags passata a CertOpenStore inserisce un archivio di sistema nel Registro di sistema in una sottochiave del Registro di sistema specificata dall'utente anziché quella predefinita.