Función CryptCATAdminAcquireContext2 (mscat.h)

La función CryptCATAdminAcquireContext2 adquiere un identificador para un contexto de administrador de catálogo para un algoritmo hash y una directiva hash determinada.

Puede usar este identificador en llamadas posteriores a las siguientes funciones:

Esta función no tiene ninguna biblioteca de importación asociada. Debe usar las funciones LoadLibrary y GetProcAddress para vincular dinámicamente a Wintrust.dll.

Sintaxis

BOOL CryptCATAdminAcquireContext2(
  [out]          HCATADMIN               *phCatAdmin,
  [in, optional] const GUID              *pgSubsystem,
  [in, optional] PCWSTR                  pwszHashAlgorithm,
  [in, optional] PCCERT_STRONG_SIGN_PARA pStrongHashPolicy,
                 DWORD                   dwFlags
);

Parámetros

[out] phCatAdmin

Puntero al identificador de contexto de administrador del catálogo asignado por esta función. Cuando haya terminado de usar el identificador, ciérrelo llamando a la función CryptCATAdminReleaseContext .

[in, optional] pgSubsystem

Puntero al GUID que identifica el subsistema. DRIVER_ACTION_VERIFY representa el subsistema de componentes del sistema operativo y controladores de terceros. Este es el subsistema utilizado por la mayoría de las implementaciones.

[in, optional] pwszHashAlgorithm

Cadena Unicode terminada en null opcional que especifica el nombre del algoritmo hash que se va a usar al calcular y comprobar hashes. Este valor puede ser NULL. Si es NULL, se puede elegir el algoritmo hash predeterminado, en función del valor establecido para el parámetro pStrongHashPolicy . El algoritmo predeterminado de Windows 8 es SHA1. El valor predeterminado puede cambiar en versiones futuras de Windows. Para obtener más información, vea la sección Comentarios.

[in, optional] pStrongHashPolicy

Puntero a una estructura de CERT_STRONG_SIGN_PARA que contiene los parámetros usados para comprobar si hay firmas seguras. La función elige el algoritmo hash común más bajo que satisface la directiva especificada y el algoritmo especificado por el parámetro pwszHashAlgorithm o el algoritmo predeterminado del sistema (si no se especifica ningún algoritmo).

dwFlags

Reservado. Este valor debe ser cero.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero (TRUE).

Si se produce un error en la función, el valor devuelto es cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

En la tabla siguiente se enumeran los códigos de error devueltos normalmente por la función GetLastError .

Código devuelto Descripción
ERROR_INVALID_PARAMETER
El parámetro phCatAdmin no puede ser NULL.

El parámetro dwFlags debe ser cero (0).

ERROR_NOT_ENOUGH_MEMORY
No había memoria suficiente para crear un nuevo objeto de administrador de catálogo.
NTE_BAD_ALGID
No se encuentra el algoritmo hash especificado por el parámetro pwszHashAlgorithm .

Comentarios

Esta función le permite elegir, o elegir, el algoritmo hash que se usará en funciones que requieren el contexto de administrador del catálogo. Aunque puede establecer el nombre del algoritmo hash, se recomienda permitir que la función determine el algoritmo. Si lo hace, protege la aplicación de algoritmos de codificación rígida que pueden dejar de ser de confianza en el futuro.

Requisitos

   
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mscat.h
Library Wintrust.lib
Archivo DLL Wintrust.dll

Consulte también

CryptCATAdminAddCatalog

CryptCATAdminReleaseContext

CryptCATAdminRemoveCatalog