Funzione CryptGetKeyIdentifierProperty (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.
 
CryptGetKeyIdentifierProperty acquisisce una proprietà specifica da un identificatore di chiave specificato.

Sintassi

BOOL CryptGetKeyIdentifierProperty(
  [in]      const CRYPT_HASH_BLOB *pKeyIdentifier,
  [in]      DWORD                 dwPropId,
  [in]      DWORD                 dwFlags,
  [in]      LPCWSTR               pwszComputerName,
  [in]      void                  *pvReserved,
  [out]     void                  *pvData,
  [in, out] DWORD                 *pcbData
);

Parametri

[in] pKeyIdentifier

Puntatore al CRYPT_HASH_BLOB contenente l'identificatore della chiave.

[in] dwPropId

Identifica la proprietà da recuperare. Il valore dwPropId determina il tipo e il contenuto del parametro pvData . È possibile usare qualsiasi ID proprietà del certificato.

[in] dwFlags

È possibile usare i flag seguenti. Possono essere combinati con un'operazione bit per bit-OR .

Valore Significato
CRYPT_KEYID_MACHINE_FLAG
Cercare l'elenco degli identificatori chiave di LocalMachine (se pwszComputerName è NULL) o il computer remoto (se pwszComputerName non è NULL). Per altre informazioni, vedere pwszComputerName.
CRYPT_KEYID_ALLOC_FLAG
La funzione LocalAlloc() viene chiamata per allocare memoria per pvData. *pvData viene aggiornato con un puntatore alla memoria allocata. LocalFree() deve essere chiamato per liberare la memoria allocata.

[in] pwszComputerName

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

[in] pvReserved

Riservato per l'uso futuro e deve essere NULL.

[out] pvData

Puntatore a un buffer per ricevere i dati come determinato da dwPropId. Gli elementi a cui puntano i campi nella struttura pvData seguono la struttura. Pertanto, le dimensioni contenute in pcbData possono superare le dimensioni della struttura.

Se dwPropId è CERT_KEY_PROV_INFO_PROP_ID, pvData punta a una struttura CRYPT_KEY_PROV_INFO contenente la proprietà dell'identificatore della chiave.

Se dwPropId non è CERT_KEY_PROV_INFO_PROP_ID, pvData punta a una matrice di byte che contiene la proprietà dell'identificatore della chiave.

Per ottenere le dimensioni di queste informazioni per scopi di allocazione della memoria, questo parametro può essere NULL quando l'CRYPT_KEYID_ALLOC_FLAG non è impostato. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.

Quando il CRYPT_KEYID_ALLOC_FLAG è impostato, pvData è l'indirizzo di un puntatore al buffer che verrà aggiornato. Poiché la memoria è allocata e il puntatore viene archiviato in *pvData, pvData non deve essere NULL.

[in, out] pcbData

Puntatore a un DWORD contenente le dimensioni, in byte, del buffer a cui punta il parametro pvData . Quando la funzione restituisce, la DWORD contiene il numero di byte archiviati nel buffer. Le dimensioni contenute nella variabile puntata da pcbData possono indicare una dimensione superiore alla struttura CRYPT_KEY_PROV_INFO perché la struttura può contenere puntatori ai dati ausiliari. Questa dimensione è la somma delle dimensioni necessarie per la struttura e tutti i dati ausiliari.

Quando il CRYPT_KEYID_ALLOC_FLAG è impostato, pcbData è l'indirizzo di un puntatore alla DWORD che verrà aggiornata.

Nota Quando si elaborano i dati restituiti nel buffer, le applicazioni devono usare le dimensioni effettive dei dati restituiti. Le dimensioni effettive possono essere leggermente inferiori rispetto alle dimensioni del buffer specificato nell'input. In input le dimensioni del buffer vengono in genere specificate abbastanza grandi per garantire che i dati di output più grandi siano adatti al buffer. Nell'output la variabile a cui punta questo parametro viene aggiornata per riflettere le dimensioni effettive dei dati copiati nel buffer.
 

Valore restituito

Se la funzione 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.

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

CryptEnumKeyIdentifierProperties

CryptSetKeyIdentifierProperty

Funzioni identificatore chiave