функция обратного вызова PCRYPT_DECRYPT_PRIVATE_KEY_FUNC (wincrypt.h)
[Функция PCRYPT_DECRYPT_PRIVATE_KEY_FUNC доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]
Функция PCRYPT_DECRYPT_PRIVATE_KEY_FUNC расшифровывает закрытый ключ и возвращает расшифрованный ключ в параметре pbClearTextKey . PCRYPT_DECRYPT_PRIVATE_KEY_FUNC — это функция обратного вызова, указанная в структуре CRYPT_PKCS8_IMPORT_PARAMS . Он используется, когда структура CRYPT_ENCRYPTED_PRIVATE_KEY_INFO содержит закрытый ключ, который необходимо расшифровать. Функция CryptImportPKCS8 использует эту функцию. Функция должна быть реализована разработчиком в соответствии с каждым приложением.
Синтаксис
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC PcryptDecryptPrivateKeyFunc;
BOOL PcryptDecryptPrivateKeyFunc(
[in] CRYPT_ALGORITHM_IDENTIFIER Algorithm,
[in] CRYPT_DATA_BLOB EncryptedPrivateKey,
[out] BYTE *pbClearTextKey,
[in, out] DWORD *pcbClearTextKey,
[in] LPVOID pVoidDecryptFunc
)
{...}
Параметры
[in] Algorithm
Структура CRYPT_ALGORITHM_IDENTIFIER , идентифицирующая алгоритм, используемый для шифрования типа PrivateKeyInfo ASN.1 в стандарте PKCS 8.
[in] EncryptedPrivateKey
Значение CRYPT_DATA_BLOB , идентифицирующее зашифрованный большой двоичный объект закрытого ключа.
[out] pbClearTextKey
Указатель на буфер BYTE для получения открытого текста. Этот параметр может принимать значение NULL. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in, out] pcbClearTextKey
Указатель на значение DWORD , определяющее размер буфера pbClearTextKey в байтах. Если размер равен нулю, pcbClearTextKey должен быть заполнен размером в байтах, необходимым для расшифровки ключа, а pbClearTextKey следует игнорировать.
[in] pVoidDecryptFunc
Значение LPVOID , которое предоставляет данные, используемые при расшифровке, такие как ключ, вектор инициализации и пароль.
Возвращаемое значение
Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем, она возвращает ноль (FALSE).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |