Compartilhar via


Função CryptCATAdminAcquireContext2 (mscat.h)

A função CryptCATAdminAcquireContext2 adquire um identificador para um contexto de administrador de catálogo para um determinado algoritmo de hash e política de hash.

Você pode usar esse identificador em chamadas subsequentes para as seguintes funções:

Essa função não tem nenhuma biblioteca de importação associada. Você deve usar as funções LoadLibrary e GetProcAddress para vincular dinamicamente a Wintrust.dll.

Sintaxe

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

Um ponteiro para o identificador de contexto do administrador do catálogo atribuído por essa função. Quando terminar de usar o identificador, feche-o chamando a função CryptCATAdminReleaseContext .

[in, optional] pgSubsystem

Um ponteiro para o GUID que identifica o subsistema. DRIVER_ACTION_VERIFY representa o subsistema para componentes do sistema operacional e drivers de terceiros. Esse é o subsistema usado pela maioria das implementações.

[in, optional] pwszHashAlgorithm

Cadeia de caracteres Unicode terminada em nulo opcional que especifica o nome do algoritmo de hash a ser usado ao calcular e verificar hashes. Esse valor pode ser NULL. Se for NULL, o algoritmo de hash padrão poderá ser escolhido, dependendo do valor definido para o parâmetro pStrongHashPolicy . O algoritmo padrão no Windows 8 é SHA1. O padrão pode mudar em versões futuras do Windows. Para obter mais informações, consulte Comentários.

[in, optional] pStrongHashPolicy

Ponteiro para uma estrutura de CERT_STRONG_SIGN_PARA que contém os parâmetros usados para marcar para assinaturas fortes. A função escolhe o algoritmo de hash comum mais baixo que satisfaz a política especificada e o algoritmo especificado pelo parâmetro pwszHashAlgorithm ou o algoritmo padrão do sistema (se nenhum algoritmo for especificado).

dwFlags

Reservado. Esse valor precisa ser zero.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).

Se a função falhar, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.

A tabela a seguir lista os códigos de erro mais comumente retornados pela função GetLastError .

Código de retorno Descrição
ERROR_INVALID_PARAMETER
O parâmetro phCatAdmin não pode ser NULL.

O parâmetro dwFlags deve ser zero (0).

ERROR_NOT_ENOUGH_MEMORY
Não havia memória suficiente para criar um novo objeto de administrador de catálogo.
NTE_BAD_ALGID
O algoritmo de hash especificado pelo parâmetro pwszHashAlgorithm não pode ser encontrado.

Comentários

Essa função permite que você escolha ou escolha para você o algoritmo de hash a ser usado em funções que exigem o contexto de administrador do catálogo. Embora você possa definir o nome do algoritmo de hash, recomendamos que você permita que a função determine o algoritmo. Isso protege seu aplicativo contra algoritmos de codificação rígida que podem se tornar não confiáveis no futuro.

Requisitos

   
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mscat.h
Biblioteca Wintrust.lib
DLL Wintrust.dll

Confira também

CryptCATAdminAddCatalog

CryptCATAdminReleaseContext

CryptCATAdminRemoveCatalog