Condividi tramite


Funzione CryptExportPublicKeyInfoFromBCryptKeyHandle (wincrypt.h)

La funzione di CryptExportPublicKeyInfoFromBCryptKeyHandle esporta le informazioni chiave pubblica associate alla chiave privata corrispondente di un provider.

Sintassi

BOOL CryptExportPublicKeyInfoFromBCryptKeyHandle(
  [in]            BCRYPT_KEY_HANDLE     hBCryptKey,
  [in]            DWORD                 dwCertEncodingType,
  [in, optional]  LPSTR                 pszPublicKeyObjId,
  [in]            DWORD                 dwFlags,
  [in, optional]  void                  *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD                 *pcbInfo
);

Parametri

[in] hBCryptKey

Handle della chiave da cui esportare le informazioni sulla chiave pubblica.

[in] dwCertEncodingType

Specifica il tipo di codifica da associare.

Questo valore può essere una combinazione bit per bit dei tipi di codifica attualmente definiti:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in, optional] pszPublicKeyObjId

Puntatore all'identificatore di oggetto (OID) che identifica la funzione installabile da usare per esportare la chiave. Se la parola di ordine elevato dell'OID è diversa da zero, pszPublicKeyObjId è un puntatore a una stringa OID, ad esempio "2.5.29.1" o una stringa ASCII, ad esempio "file". Se la parola di ordine elevato dell'OID è zero, la parola con ordine basso specifica l'identificatore integer da utilizzare come identificatore dell'oggetto.

[in] dwFlags

Valore DWORD che indica come vengono esportate le informazioni sulla chiave pubblica.

Valore Significato
CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
0x80000000
Ignora le chiavi pubbliche nel gruppo di CRYPT_PUBKEY_ALG_OID_GROUP_ID contrassegnate in modo esplicito con il flag CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG.
CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
0x40000000
Ignora le chiavi pubbliche nel gruppo di CRYPT_PUBKEY_ALG_OID_GROUP_ID contrassegnate in modo esplicito con il flag CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG.

[in, optional] pvAuxInfo

Questo parametro è riservato per uso futuro e deve essere impostato su NULL.

[out, optional] pInfo

Puntatore a una struttura CERT_PUBLIC_KEY_INFO per ricevere le informazioni sulla chiave pubblica da esportare.

Questo parametro può essere NULL per impostare le dimensioni di queste informazioni a scopo di allocazione della memoria. 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. Quando la funzione viene restituita, il DWORD contiene il numero di byte archiviati nel buffer.

Valore restituito

La funzione restituisce TRUE se ha esito positivo; in caso contrario, restituisce FALSE.

Osservazioni

Se la funzione CryptExportPublicKeyInfoFromBCryptKeyHandle non è in grado di trovare una funzione OID installabile per l'OID specificato dall'pszPublicKeyObjId parametro, tenta di esportare la chiave come chiave pubblica RSA (szOID_RSA_RSA). Se la chiave viene esportata come chiave pubblica RSA, non vengono utilizzati i valori dei parametri dwFlags e pvAuxInfo.

Fabbisogno

Requisito Valore
client minimo supportato Windows 7 [solo app desktop]
server minimo supportato Windows Server 2008 R2 [solo app desktop]
piattaforma di destinazione Finestre
intestazione wincrypt.h
libreria Crypt32.lib
dll Crypt32.dll