Función CertOpenSystemStoreA (wincrypt.h)
La función CertOpenSystemStore de
Sintaxis
HCERTSTORE CertOpenSystemStoreA(
[in] HCRYPTPROV_LEGACY hProv,
[in] LPCSTR szSubsystemProtocol
);
Parámetros
[in] hProv
Este parámetro no se usa y debe establecerse en 0.
[in] szSubsystemProtocol
Cadena que asigna un nombre a un almacén del sistema. Si el nombre del almacén del sistema proporcionado en este parámetro no es el nombre de un almacén del sistema existente, se creará y usará un nuevo almacén del sistema. certEnumSystemStore se puede usar para enumerar los nombres de los almacenes del sistema existentes. Algunos almacenes del sistema de ejemplo se enumeran en la tabla siguiente.
Valor | Significado |
---|---|
|
entidad de certificación certificados. |
|
Almacén de certificados que contiene certificados con claves privadas asociadas. |
|
certificados raíz. |
|
certificado de publicador de software. |
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve un identificador al almacén de certificados.
Si se produce un error en la función, devuelve NULL. Para obtener información de error extendida, llame a GetLastError.
Observaciones
Solo se puede acceder a los certificados de usuario actuales mediante este método, no con el almacén de máquinas locales.
Una vez abierto el almacén del sistema, todas las funciones del almacén de certificados estándar se pueden usar para manipular los certificados.
Después de su uso, el almacén debe cerrarse mediante CertCloseStore.
Para obtener más información sobre los almacenes que se migran automáticamente, consulte Migración del almacén de certificados.
Ejemplos
En el ejemplo siguiente se muestra un método simplificado para abrir los almacenes de certificados del sistema más comunes. Para obtener otro ejemplo que usa esta función, vea Programa C de ejemplo: Operaciones del almacén de certificados.
//--------------------------------------------------------------------
// Declare and initialize variables.
HCERTSTORE hSystemStore; // system store handle
//--------------------------------------------------------------------
// Open the CA system certificate store. The same call can be
// used with the name of a different system store, such as My or Root,
// as the second parameter.
if(hSystemStore = CertOpenSystemStore(
0,
"CA"))
{
printf("The CA system store is open. Continue.\n");
}
else
{
printf("The CA system store did not open.\n");
exit(1);
}
// Use the store as needed.
// ...
// When done using the store, close it.
if(!CertCloseStore(hSystemStore, 0))
{
printf("Unable to close the CA system store.\n");
exit(1);
}
Nota
El encabezado wincrypt.h define CertOpenSystemStore como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2003 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
wincrypt.h |
biblioteca de |
Crypt32.lib |
DLL de |
Crypt32.dll |