Funzione CryptCATAdminAcquireContext2 (mscat.h)

La funzione CryptCATAdminAcquireContext2 acquisisce un handle in un contesto di amministratore del catalogo per un algoritmo hash e criteri hash specificati.

È possibile usare questo handle nelle chiamate successive alle funzioni seguenti:

Questa funzione non ha una libreria di importazione associata. È necessario usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a Wintrust.dll.

Sintassi

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

Parametri

[out] phCatAdmin

Puntatore all'handle di contesto dell'amministratore del catalogo assegnato da questa funzione. Al termine dell'uso dell'handle, chiuderlo chiamando la funzione CryptCATAdminReleaseContext .

[in, optional] pgSubsystem

Puntatore al GUID che identifica il sottosistema. DRIVER_ACTION_VERIFY rappresenta il sottosistema per i componenti del sistema operativo e i driver di terze parti. Si tratta del sottosistema usato dalla maggior parte delle implementazioni.

[in, optional] pwszHashAlgorithm

Stringa Unicode con terminazione Null facoltativa che specifica il nome dell'algoritmo hash da usare durante il calcolo e la verifica degli hash. Questo valore può essere NULL. Se è NULL, è possibile scegliere l'algoritmo hash predefinito, a seconda del valore impostato per il parametro pStrongHashPolicy . L'algoritmo predefinito in Windows 8 è SHA1. Il valore predefinito può cambiare nelle versioni future di Windows. Per altre informazioni, vedere la sezione Osservazioni.

[in, optional] pStrongHashPolicy

Puntatore a una struttura CERT_STRONG_SIGN_PARA che contiene i parametri usati per verificare la presenza di firme complesse. La funzione sceglie l'algoritmo hash comune più basso che soddisfa i criteri specificati e l'algoritmo specificato dal parametro pwszHashAlgorithm o dall'algoritmo predefinito del sistema (se non viene specificato alcun algoritmo).

dwFlags

Riservato. Il valore deve essere zero.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).

Se la funzione ha esito negativo, il valore restituito è zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Nella tabella seguente sono elencati i codici di errore restituiti più di frequente dalla funzione GetLastError .

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Il parametro phCatAdmin non può essere NULL.

Il parametro dwFlags deve essere zero (0).

ERROR_NOT_ENOUGH_MEMORY
Memoria insufficiente per creare un nuovo oggetto amministratore del catalogo.
NTE_BAD_ALGID
Impossibile trovare l'algoritmo hash specificato dal parametro pwszHashAlgorithm .

Commenti

Questa funzione consente di scegliere o scegliere automaticamente l'algoritmo hash da usare nelle funzioni che richiedono il contesto di amministratore del catalogo. Sebbene sia possibile impostare il nome dell'algoritmo hash, è consigliabile consentire alla funzione di determinare l'algoritmo. In questo modo si protegge l'applicazione da algoritmi di hardcoded che potrebbero diventare non attendibili in futuro.

Requisiti

   
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mscat.h
Libreria Wintrust.lib
DLL Wintrust.dll

Vedi anche

CryptCATAdminAddCatalog

CryptCATAdminReleaseContext

CryptCATAdminRemoveCatalog