Funzione CryptExportPublicKeyInfoFromBCryptKeyHandle (wincrypt.h)

La funzione CryptExportPublicKeyInfoFromBCryptKeyHandle esporta le informazioni sulla 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 ai fini dell'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.

Commenti

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

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll