Funzione CryptExportPublicKeyInfo (wincrypt.h)
La funzione CryptExportPublicKeyInfo esporta le informazioni sulla chiave pubblica associate alla chiave privata corrispondente del provider. Per una versione aggiornata di questa funzione, vedere CryptExportPublicKeyInfoEx.
Sintassi
BOOL CryptExportPublicKeyInfo(
[in] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
[in] DWORD dwKeySpec,
[in] DWORD dwCertEncodingType,
[out] PCERT_PUBLIC_KEY_INFO pInfo,
[in, out] DWORD *pcbInfo
);
Parametri
[in] hCryptProvOrNCryptKey
Handle del provider di servizi di crittografia (CSP) da usare durante l'esportazione delle informazioni sulla chiave pubblica. Questo handle deve essere un handle HCRYPTPROV creato usando la funzione CryptAcquireContext o un handle NCRYPT_KEY_HANDLE creato tramite la funzione NCryptOpenKey . Le nuove applicazioni devono sempre passare l'handle NCRYPT_KEY_HANDLE di un CSP CNG.
[in] dwKeySpec
Identifica la chiave privata da usare dal contenitore del provider. Può essere AT_KEYEXCHANGE o AT_SIGNATURE. Questo parametro viene ignorato se viene usato un NCRYPT_KEY_HANDLE nel parametro hCryptProvOrNCryptKey .
[in] dwCertEncodingType
Specifica il tipo di codifica utilizzato. È sempre accettabile specificare sia il certificato che i tipi di codifica dei messaggi combinandoli con un'operazione OR bit per bit, come illustrato nell'esempio seguente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
I tipi di codifica attualmente definiti sono:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[out] pInfo
Puntatore a una struttura CERT_PUBLIC_KEY_INFO per ricevere le informazioni sulla chiave pubblica da esportare.
Per impostare le dimensioni di queste informazioni ai fini dell'allocazione di memoria, questo parametro può essere NULL. Per altre informazioni, vedere Recupero di dati di lunghezza sconosciuta.
[in, out] pcbInfo
Puntatore a un DWORD contenente le dimensioni, in byte, del buffer a cui punta il parametro pInfo . Al termine della funzione, il DWORD contiene il numero di byte necessari per il buffer restituito.
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). Per informazioni sugli errori estesi, chiamare GetLastError.
Codice restituito | Descrizione |
---|---|
|
Se il buffer specificato dal parametro pInfo non è sufficientemente grande da contenere i dati restituiti, la funzione imposta il codice ERROR_MORE_DATA e archivia le dimensioni del buffer necessarie, in byte, nella variabile a cui punta pcbInfo. |
|
Tipo di codifica del certificato non valido. Attualmente è supportato solo X509_ASN_ENCODING. |
Se la funzione ha esito negativo, GetLastError può restituire un errore di codifica/decodifica ASN.1 ( Abstract Syntax Notation One ). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.
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 |