Condividi tramite


PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC funzione di callback (wincrypt.h)

La funzione di callback PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC viene chiamata da CryptExportPublicKeyInfoEx per esportare un BLOB di chiavi pubbliche e codificarlo.

Sintassi

PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC PfnCryptExportPublicKeyInfoEx2Func;

BOOL PfnCryptExportPublicKeyInfoEx2Func(
  [in]            NCRYPT_KEY_HANDLE hNCryptKey,
  [in]            DWORD dwCertEncodingType,
  [in]            LPSTR pszPublicKeyObjId,
  [in]            DWORD dwFlags,
  [in, optional]  void *pvAuxInfo,
  [out, optional] PCERT_PUBLIC_KEY_INFO pInfo,
  [in, out]       DWORD *pcbInfo
)
{...}

Parametri

[in] hNCryptKey

Handle del provider di servizi di crittografia da usare durante l'esportazione delle informazioni sulla chiave pubblica. Questo handle deve essere un handle NCRYPT_KEY_HANDLE creato usando la funzione NCryptOpenKey .

[in] dwCertEncodingType

Valore che 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

I tipi di codifica attualmente definiti sono:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPublicKeyObjId

Puntatore a una stringa contenente l'algoritmo di chiave pubblica.

[in] dwFlags

Valore che indica come vengono esportate le informazioni sulla chiave pubblica. Questo può essere zero.

[in, optional] pvAuxInfo

Questo parametro è riservato per l'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 per scopi di allocazione della memoria. Per altre informazioni, vedere Recupero dei 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 restituisce, la DWORD contiene il numero di byte archiviati nel buffer.

Nota Quando si elaborano i dati restituiti nel buffer, le applicazioni devono usare le dimensioni effettive dei dati restituiti. Le dimensioni effettive possono essere leggermente inferiori rispetto alle dimensioni del buffer specificato nell'input. In base all'input, le dimensioni del buffer vengono in genere specificate abbastanza grandi per garantire che i dati di output più grandi siano adatti al buffer. Nell'output la variabile a cui punta questo parametro viene aggiornata per riflettere le dimensioni effettive dei dati copiati nel buffer.
 

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).

Se la funzione ha esito negativo, il valore restituito è zero (FALSE). Per informazioni sull'errore estese, chiamare GetLastError.

Se questa funzione di callback non supporta l'algoritmo di firma, deve restituire FALSE e chiamare SetLastError con ERROR_NOT_SUPPORTED.

Commenti

È possibile usare funzioni di supporto OID per distribuire questa funzione di callback. Wincrypt.h definisce la costante seguente per questo scopo.

Costante Definizione
CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC "CryptDllExportPublicKeyInfoEx2"

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h