Funzione CertGetIntendedKeyUsage (wincrypt.h)
La funzione CertGetIntendedKeyUsage acquisisce i byte di utilizzo delle chiavi previsti da un certificato. L'utilizzo delle chiavi previsto può essere incluso nell'estensione szOID_KEY_USAGE ("2.5.29.15") o szOID_KEY_ATTRIBUTES ("2.5.29.2").
Sintassi
BOOL CertGetIntendedKeyUsage(
[in] DWORD dwCertEncodingType,
[in] PCERT_INFO pCertInfo,
[out] BYTE *pbKeyUsage,
[in] DWORD cbKeyUsage
);
Parametri
[in] dwCertEncodingType
Specifica il tipo di codifica usato. È sempre accettabile specificare sia i tipi di codifica del certificato che dei messaggi combinandoli con un'operazione bit per bit or , come illustrato nell'esempio seguente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING Tipi di codifica attualmente definiti sono:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pCertInfo
Puntatore alla struttura CERT_INFO del certificato specificato.
[out] pbKeyUsage
Puntatore a un buffer per ricevere l'utilizzo delle chiavi previsto. L'elenco seguente mostra i valori attualmente definiti. Questi possono essere combinati usando operazioni bit per bit-OR .
- CERT_DATA_ENCIPHERMENT_KEY_USAGE
- CERT_DIGITAL_SIGNATURE_KEY_USAGE
- CERT_KEY_AGREEMENT_KEY_USAGE
- CERT_KEY_CERT_SIGN_KEY_USAGE
- CERT_KEY_ENCIPHERMENT_KEY_USAGE
- CERT_NON_REPUDIATION_KEY_USAGE
- CERT_OFFLINE_CRL_SIGN_KEY_USAGE
[in] cbKeyUsage
Dimensioni, in byte, del buffer a cui punta pbKeyUsage. Attualmente, l'utilizzo delle chiavi previsto occupa 1 o 2 byte di dati.
Valore restituito
Se il certificato non ha byte di utilizzo delle chiavi previsto, false viene restituito e pbKeyUsage è zero. In caso contrario, TRUE viene restituito e fino al numero cbKeyUsage di byte vengono copiati in pbKeyUsage. Tutti i byte rimanenti non copiati vengono zero.
GetLastError restituisce zero se non viene trovata alcuna delle estensioni necessarie.
Se la funzione ha esito negativo, GetLastError potrebbe restituire un errore di codifica astratta Notation One (ASN.1). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.
Requisiti
Requisito | Valore |
---|---|
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 |