Freigeben über


PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC Rückruffunktion (wincrypt.h)

Die PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC Rückruffunktion wird von CryptExportPublicKeyInfoEx aufgerufen, um ein BLOB mit öffentlichem Schlüssel zu exportieren und zu codieren.

Syntax

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
)
{...}

Parameter

[in] hNCryptKey

Ein Handle des Kryptografiedienstanbieters (Cryptographic Service Provider , CSP), das beim Exportieren der Informationen für den öffentlichen Schlüssel verwendet werden soll. Dieses Handle muss ein NCRYPT_KEY_HANDLE Handle sein, das mit der NCryptOpenKey-Funktion erstellt wurde.

[in] dwCertEncodingType

Ein -Wert, der den verwendeten Codierungstyp angibt. Es ist immer akzeptabel, sowohl den Zertifikat- als auch den Nachrichtencodierungstyp anzugeben, indem sie mit einem bitweisen OR-Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Derzeit definierte Codierungstypen sind:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPublicKeyObjId

Ein Zeiger auf eine Zeichenfolge, die den Algorithmus für öffentliche Schlüssel enthält.

[in] dwFlags

Ein -Wert, der angibt, wie die Informationen des öffentlichen Schlüssels exportiert werden. Dies kann null sein.

[in, optional] pvAuxInfo

Dieser Parameter ist für die zukünftige Verwendung reserviert und muss auf NULL festgelegt werden.

[out, optional] pInfo

Ein Zeiger auf eine CERT_PUBLIC_KEY_INFO-Struktur , um die zu exportierenden Öffentlichen Schlüsselinformationen zu empfangen.

Dieser Parameter kann NULL sein, um die Größe dieser Informationen für die Speicherbelegung festzulegen. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.

[in, out] pcbInfo

Ein Zeiger auf ein DWORD , das die Größe des Puffers in Bytes enthält, auf den der pInfo-Parameter verweist. Wenn die Funktion zurückgibt, enthält das DWORD die Anzahl der im Puffer gespeicherten Bytes.

Hinweis Bei der Verarbeitung der im Puffer zurückgegebenen Daten müssen Anwendungen die tatsächliche Größe der zurückgegebenen Daten verwenden. Die tatsächliche Größe kann etwas kleiner als die Größe des bei der Eingabe angegebenen Puffers sein. (Bei der Eingabe werden Puffergrößen in der Regel groß genug angegeben, um sicherzustellen, dass die größtmöglichen Ausgabedaten in den Puffer passen.) Bei der Ausgabe wird die Variable aktualisiert, auf die dieser Parameter verweist, um die tatsächliche Größe der in den Puffer kopierten Daten widerzuspiegeln.
 

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich null (TRUE).

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE). Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Wenn diese Rückruffunktion den Signaturalgorithmus nicht unterstützt, muss sie FALSE zurückgeben und SetLastError mit ERROR_NOT_SUPPORTED aufrufen.

Hinweise

Sie können OID-Unterstützungsfunktionen verwenden, um diese Rückruffunktion bereitzustellen. Wincrypt.h definiert zu diesem Zweck die folgende Konstante.

Dauerhaft Definition
CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC "CryptDllExportPublicKeyInfoEx2"

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h