Almacenes lógicos y físicos
Los almacenes del sistema predeterminados, incluido MY, CA y ROOT, se implementan como almacenes de recopilación lógica con una serie de almacenes físicos predefinidos como almacenes de miembros. Los almacenes físicos miembro de un almacén del sistema se abren automáticamente cuando se abre el almacén del sistema. Un usuario puede agregar almacenes físicos adicionales a cualquier colección de almacenes del sistema. La función CryptoAPI CertRegisterPhysicalStore agrega un nuevo almacén físico a una colección de almacenes del sistema. CertUnregisterPhysicalStore desasocia un almacén físico de un almacén del sistema lógico. CertRegisterSystemStore crea un nuevo almacén del sistema en un hKey del registro, mientras que CertUnregisterSystemStore quita un almacén del sistema del registro.
En CryptoAPI, los almacenes del sistema son almacenes lógicos con almacenes físicos asociados. Todos los certificados de un almacén del sistema existente permanecen disponibles y la adición física de nuevos certificados se realiza en los almacenes físicos que componen el almacén del sistema lógico.
Los usuarios que prefieren seguir usando almacenes físicos del sistema y no convertirlos en almacenes lógicos pueden abrir almacenes del sistema con el proveedor de CERT_STORE_PROV_SYSTEM_REGISTRY. Este proveedor seguirá usando cada almacén del sistema como un único almacén físico.
Las funciones CertEnumSystemStoreLocation, CertEnumSystemStore y CertEnumPhysicalStore enumeran las ubicaciones del almacén del sistema, los almacenes del sistema disponibles y todos los almacenes físicos que son miembros de un almacén del sistema.
También se pueden reubicar almacenes del sistema. De forma predeterminada, se abre un almacén del sistema en relación con una subclave del Registro después de un patrón predefinido. Para obtener más información, consulte Ubicaciones del almacén del sistema. Al establecer CERT_SYSTEM_STORE_RELOCATE_FLAG en el parámetro dwFlags pasado a CertOpenStore, se coloca un almacén del sistema en el registro en una subclave del Registro especificada por el usuario en lugar de la predefinida.