Funzione CertGetEnhancedKeyUsage (wincrypt.h)
La funzione CertGetEnhancedKeyUsage restituisce informazioni dall'estensione EKU ( Enhanced Key Usage ) o dalla proprietà estesa EKU di un certificato. Le EKU indicano usi validi del certificato.
Sintassi
BOOL CertGetEnhancedKeyUsage(
[in] PCCERT_CONTEXT pCertContext,
[in] DWORD dwFlags,
[out] PCERT_ENHKEY_USAGE pUsage,
[in, out] DWORD *pcbUsage
);
Parametri
[in] pCertContext
Puntatore a un contesto di certificato CERT_CONTEXT .
[in] dwFlags
Indica se la funzione segnala le estensioni di un certificato, le relative proprietà estese o entrambe. Se impostato su zero, la funzione restituisce gli usi validi di un certificato in base all'estensione EKU e al valore della proprietà estesa EKU del certificato.
Per restituire solo il valore dell'estensione EKU o della proprietà EKU, impostare i flag seguenti.
Valore | Significato |
---|---|
|
Ottenere solo l'estensione. |
|
Ottiene solo il valore della proprietà estesa. |
[out] pUsage
Puntatore a una struttura CERT_ENHKEY_USAGE (CERT_ENHKEY_USAGE è un nome typedef alternativo per la struttura CTL_USAGE ) che riceve gli usi validi del certificato.
Questo parametro può essere NULL per impostare le dimensioni dell'utilizzo della chiave ai fini dell'allocazione della memoria. Per altre informazioni, vedere Recupero di dati di lunghezza sconosciuta.
[in, out] pcbUsage
Puntatore a un DWORD che specifica le dimensioni, in byte, della struttura a cui punta pUsage. Quando la funzione viene restituita, la DWORD contiene le dimensioni, in byte, della struttura.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).
Se la funzione non riesce, restituisce zero (FALSE).
Commenti
Se un certificato ha un'estensione EKU, tale estensione elenca gli identificatori di oggetto (OID) per usi validi di tale certificato. In un ambiente Microsoft, un certificato potrebbe avere anche proprietà estese EKU che specificano usi validi per il certificato.
- Se un certificato non ha né un'estensione EKU né proprietà estese EKU, si presuppone che sia valido per tutti gli usi.
- Se ha un'estensione EKU o proprietà estese EKU, ma non entrambe, è valida solo per gli usi indicati nell'estensione o nelle proprietà estese di cui dispone.
- Se un certificato ha sia un'estensione EKU che le proprietà estese EKU, è valido solo per gli usi presenti in entrambi gli elenchi.
Se il membro cUsageIdentifier è zero, il certificato potrebbe essere valido per tutti gli usi o il certificato potrebbe non avere usi validi. La restituzione da una chiamata a GetLastError può essere usata per determinare se il certificato è valido per tutti gli usi o per nessuno. Se GetLastError restituisce CRYPT_E_NOT_FOUND, il certificato è valido per tutti gli usi. Se restituisce zero, il certificato non ha utilizzi validi.
Requisiti
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |