Поделиться через


функция обратного вызова 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

См. также раздел

CRYPT_ENCRYPTED_PRIVATE_KEY_INFO

CRYPT_PKCS8_IMPORT_PARAMS

CryptImportPKCS8