функция обратного вызова PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC (wincrypt.h)
[Функция PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]
Функция PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC шифрует закрытый ключ и возвращает зашифрованное содержимое в параметре pbEncryptedKey . Это функция обратного вызова, определяемая в структуре CRYPT_PKCS8_EXPORT_PARAMS , которая создает структуру PKCS #8 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO. Функция должна быть реализована разработчиком в соответствии с каждым приложением.
Синтаксис
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
)
{...}
Параметры
[out] pAlgorithm
Указатель на структуру CRYPT_ALGORITHM_IDENTIFIER для получения алгоритма, используемого для шифрования типа PrivateKeyInfo ASN.1 в стандарте PKCS #8.
[in] pClearTextPrivateKey
Указатель на структуру CRYPT_DATA_BLOB , которая содержит зашифрованный закрытый ключ в виде открытого текста .
[out] pbEncryptedKey
Указатель на буфер BYTE для получения зашифрованного большого двоичного объекта закрытого ключа. Если этот параметр имеет значение NULL, pcbEncryptedKey вернет размер памяти в байтах, необходимый для хранения зашифрованного ключа при последующем вызове этой функции.
[in, out] pcbEncryptedKey
Указатель на переменную DWORD , содержащую размер буфера pbEncryptedKey в байтах. Если pbEncryptedKey имеет значение NULL, то pcbEncryptedKey задается размер в байтах, необходимый для шифрования ключа. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in] pVoidEncryptFunc
Переменная LPVOID , содержащая данные, используемые для шифрования, такие как ключ, вектор инициализации и пароль.
Возвращаемое значение
Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем, она возвращает ноль (FALSE).
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |