Compartilhar via


Repositórios lógicos e físicos

Os repositórios de sistema padrão, incluindo MY, CA e ROOT, são implementados como repositórios de coleção lógica com vários repositórios físicos predefinidos como seus repositórios membros. Os repositórios físicos membros de um repositório do sistema são abertos automaticamente quando o repositório do sistema é aberto. Um usuário pode adicionar repositórios físicos adicionais a qualquer coleção de repositórios do sistema. A função CryptoAPI CertRegisterPhysicalStore adiciona um novo repositório físico a uma coleção de repositórios do sistema. CertUnregisterPhysicalStore desassocia um repositório físico de um repositório de sistema lógico. CertRegisterSystemStore cria um novo repositório de sistema em um hKey do registro, enquanto CertUnregisterSystemStore remove um repositório do sistema do registro.

No CryptoAPI, os repositórios de sistema são repositórios lógicos com repositórios físicos associados. Todos os certificados em um repositório de sistema existente permanecem disponíveis e a adição física de novos certificados é feita nos repositórios físicos que compõem o repositório de sistema lógico.

Os usuários que preferem continuar a usar repositórios de sistema físico e não converter em repositórios lógicos podem abrir repositórios de sistema com o provedor de CERT_STORE_PROV_SYSTEM_REGISTRY. Esse provedor continuará a usar cada repositório do sistema como um único repositório físico.

As funções CertEnumSystemStoreLocation, CertEnumSystemStoree CertEnumPhysicalStore listar locais do repositório do sistema, repositórios de sistema disponíveis e todos os repositórios físicos que são membros de um repositório de sistema.

Os repositórios do sistema também podem ser realocados. Por padrão, um repositório do sistema é aberto em relação a uma subchave do Registro seguindo um padrão predefinido. Para obter mais informações, consulte Locais do Repositório de Sistemas. Definir CERT_SYSTEM_STORE_RELOCATE_FLAG no parâmetro dwFlags passado para CertOpenStore coloca um repositório de sistema no registro sob uma subchave do Registro especificada pelo usuário em vez da predefinida.