Freigeben über


PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC Rückruffunktion (wincrypt.h)

[Die PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC-Funktion ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]

Die PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC-Funktion verschlüsselt den privaten Schlüssel und gibt den verschlüsselten Inhalt im PbEncryptedKey-Parameter zurück. Es handelt sich um eine Rückruffunktion, die in einer CRYPT_PKCS8_EXPORT_PARAMS-Struktur identifiziert wird, die eine PKCS #8 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO-Struktur erstellt. Die Funktion muss vom Entwickler für jede Anwendung implementiert werden.

Syntax

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC PcryptEncryptPrivateKeyFunc;

BOOL PcryptEncryptPrivateKeyFunc(
  [out]     CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm,
  [in]      CRYPT_DATA_BLOB *pClearTextPrivateKey,
  [out]     BYTE *pbEncryptedKey,
  [in, out] DWORD *pcbEncryptedKey,
  [in]      LPVOID pVoidEncryptFunc
)
{...}

Parameter

[out] pAlgorithm

Ein Zeiger auf eine CRYPT_ALGORITHM_IDENTIFIER Struktur, um den Algorithmus zu empfangen, der zum Verschlüsseln des PrivateKeyInfo ASN.1-Typs im PKCS #8-Standard verwendet wird.

[in] pClearTextPrivateKey

Ein Zeiger auf eine CRYPT_DATA_BLOB-Struktur , die den zu verschlüsselnden privaten Klartextschlüssel enthält.

[out] pbEncryptedKey

Ein Zeiger auf einen BYTE-Puffer , um das BLOB für den verschlüsselten privaten Schlüssel zu empfangen. Wenn dieser Parameter NULL ist, gibt pcbEncryptedKey die Größe des Arbeitsspeichers in Bytes zurück, die erforderlich ist, um den verschlüsselten Schlüssel bei einem nachfolgenden Aufruf dieser Funktion zu enthalten.

[in, out] pcbEncryptedKey

Ein Zeiger auf eine DWORD-Variable , die die Größe des Puffers pbEncryptedKey in Bytes enthält. Wenn pbEncryptedKey NULL ist, wird pcbEncryptedKey auf die Größe in Bytes festgelegt, die zum Verschlüsseln des Schlüssels erforderlich ist. Weitere Informationen finden Sie unter Abrufen von Daten unbekannter Länge.

[in] pVoidEncryptFunc

Eine LPVOID-Variable , die Daten enthält, die für die Verschlüsselung verwendet werden, z. B. Schlüssel, Initialisierungsvektor und Kennwort.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero (TRUE) zurück.

Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück.

Anforderungen

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

Weitere Informationen

CRYPT_PKCS8_EXPORT_PARAMS

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC