Condividi tramite


Funzione CryptGetUserKey (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 CryptGetUserKey recupera un handle di una delle due coppie di chiavi pubbliche/private di un utente. Questa funzione viene usata solo dal proprietario delle coppie di chiavi pubbliche/private e solo quando è disponibile l'handle di un provider di servizi di crittografia e il relativo contenitore di chiavi associato. Se l'handle CSP non è disponibile e il certificato dell'utente è, usare CryptAcquireCertificatePrivateKey.

Sintassi

BOOL CryptGetUserKey(
  [in]  HCRYPTPROV hProv,
  [in]  DWORD      dwKeySpec,
  [out] HCRYPTKEY  *phUserKey
);

Parametri

[in] hProv

Handle HCRYPTPROV di un provider di servizi di crittografia creato da una chiamata a CryptAcquireContext.

[in] dwKeySpec

Identifica la chiave privata da usare dal contenitore della chiave. Può essere AT_KEYEXCHANGE o AT_SIGNATURE.

Inoltre, alcuni provider consentono l'accesso ad altre chiavi specifiche dell'utente tramite questa funzione. Per informazioni dettagliate, vedere la documentazione sul provider specifico.

[out] phUserKey

Puntatore all'handle HCRYPTKEY delle chiavi recuperate. Al termine dell'uso della chiave, eliminare l'handle chiamando la funzione CryptDestroyKey .

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 sull'errore estese, chiamare GetLastError.

I codici di errore preceduti da "NTE" vengono generati dal particolare CSP usato. Alcuni codici di errore possibili seguono.

Codice restituito Descrizione
ERROR_INVALID_HANDLE
Uno dei parametri specifica un handle non valido.
ERROR_INVALID_PARAMETER
Uno dei parametri contiene un valore non valido. Questo è più spesso un puntatore che non è valido.
NTE_BAD_KEY
Il parametro dwKeySpec contiene un valore non valido.
NTE_BAD_UID
Il parametro hProv non contiene un handle di contesto valido.
NTE_NO_KEY
La chiave richiesta dal parametro dwKeySpec non esiste.

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 Advapi32.lib
DLL Advapi32.dll

Vedi anche

Cryptacquirecontext

CryptDestroyKey

CryptGenKey

Generazione di chiavi e funzioni di Exchange