Funzione CryptEnumKeyIdentifierProperties (wincrypt.h)

Importante Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
 
La funzione CryptEnumKeyIdentifierProperties enumera gli identificatori di chiave e le relative proprietà. Questa funzione non viene chiamata in un ciclo. Invece, scorre internamente fino all'enumerazione dell'ultima proprietà dell'identificatore di chiave o la funzione di callback restituisce FALSE. Se dwPropId è zero o se le proprietà dell'identificatore di chiave corrispondono a dwPropId, viene chiamata la funzione di callback.

Sintassi

BOOL CryptEnumKeyIdentifierProperties(
  [in, optional] const CRYPT_HASH_BLOB     *pKeyIdentifier,
  [in]           DWORD                     dwPropId,
  [in]           DWORD                     dwFlags,
  [in, optional] LPCWSTR                   pwszComputerName,
  [in]           void                      *pvReserved,
  [in, optional] void                      *pvArg,
  [in]           PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
);

Parametri

[in, optional] pKeyIdentifier

Puntatore a una struttura CRYPT_HASH_BLOB contenente l'identificatore della chiave.

Se pKeyIdentifier è NULL, la funzione enumera tutti gli identificatori di chiave.

Se pKeyIdentifier non è NULL, la funzione di callback pfnEnum viene chiamata solo per l'identificatore di chiave specificato.

[in] dwPropId

Indica l'identificatore della proprietà da elencare.

Se dwPropId è impostato su zero, questa funzione chiama la funzione di callback con tutte le proprietà.

Se dwPropId non è zero e pKeyIdentifier è NULL, la funzione di callback viene chiamata solo per tali identificatori di chiave che hanno la proprietà specificata (imposta il parametro cProp di pfnEnum su uno). Tutti gli identificatori di chiave che non hanno la proprietà vengono ignorati.

È possibile usare qualsiasi identificatore di proprietà del certificato.

[in] dwFlags

Per impostazione predefinita, viene eseguito il ricerca dell'elenco di identificatori di chiave per CurrentUser. Se CRYPT_KEYID_MACHINE_FLAG è impostato, l'elenco di identificatori chiave di LocalMachine (se pwszComputerName è NULL) o di un computer remoto (se pwszComputerName non è NULL). Per altre informazioni, vedere pwszComputerName.

[in, optional] pwszComputerName

Puntatore al nome di un computer remoto da cercare. Se CRYPT_KEYID_MACHINE_FLAG è impostato in dwFlags, il computer remoto viene cercato un elenco di identificatori di chiave. Se il computer locale deve essere cercato e non un computer remoto, pwszComputerName è impostato su NULL.

[in] pvReserved

Riservato per l'uso futuro e deve essere NULL.

[in, optional] pvArg

Puntatore ai dati da passare alla funzione di callback. Il tipo è un void che consente all'applicazione di dichiarare, definire e inizializzare una struttura o un argomento per contenere qualsiasi informazione.

[in] pfnEnum

Puntatore a una funzione di callback definita dall'applicazione eseguita per ogni voce di identificatore di chiave corrispondente ai parametri di input. Per informazioni dettagliate sui parametri delle funzioni di callback, vedere CRYPT_ENUM_KEYID_PROP.

Valore restituito

La funzione CryptEnumKeyIdentifierProperties chiama ripetutamente la funzione di callback CRYPT_ENUM_KEYID_PROP fino all'enumerazione dell'ultimo identificatore di chiave o la funzione di callback restituisce FALSE.

Se la funzione principale ha esito positivo, la funzione restituisce non zero (TRUE).

Se la funzione ha esito negativo, restituisce zero (FALSE). Per informazioni sull'errore estese, chiamare GetLastError.

Per continuare l'enumerazione, la funzione restituisce TRUE.

Per arrestare l'enumerazione, la funzione restituisce FALSE e imposta l'ultimo codice di errore.

Commenti

Un identificatore di chiave può avere le stesse proprietà di un contesto di certificato.

Esempio

Per un esempio che usa questa funzione, vedere Esempio di programma C: Uso degli identificatori di chiave.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

Funzioni di crittografia di base

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty