Функция обратного вызова CryptXmlDllSignData (cryptxml.h)

Функция CryptXmlDllSignData подписывает данные.

Функция CryptXmlDllSignData предоставляется через экспортированную функцию CryptXmlDllGetInterface .

Синтаксис

CryptXmlDllSignData Cryptxmldllsigndata;

HRESULT Cryptxmldllsigndata(
  [in]            const CRYPT_XML_ALGORITHM *pSignatureMethod,
  [in]            HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
  [in]            DWORD dwKeySpec,
  [in]            const BYTE *pbInput,
  [in]            ULONG cbInput,
  [out, optional] BYTE *pbOutput,
  [in]            ULONG cbOutput,
  [out]           ULONG *pcbResult
)
{...}

Параметры

[in] pSignatureMethod

Указатель на структуру CRYPT_XML_ALGORITHM , задающую алгоритм.

[in] hCryptProvOrNCryptKey

Дескриптор поставщика служб шифрования (CSP), создающего сигнатуру. Это должен быть дескриптор HCRYPTPROV , полученный при вызове функции CryptAcquireContext , или дескриптор NCRYPT_KEY_HANDLE , созданный с помощью функции NCryptOpenKey . Новые приложения должны передавать дескриптор NCRYPT_KEY_HANDLE .

[in] dwKeySpec

Закрытый ключ, используемый из контейнера поставщика. Этот ключ может быть AT_KEYEXCHANGE или AT_SIGNATURE. Этот параметр игнорируется, если в параметре hCryptProvOrNCryptKey используется дескриптор NCRYPT_KEY_HANDLE.

[in] pbInput

Указатель на буфер, содержащий значение хэша для подписывания. Параметр cbInput содержит размер этого буфера.

[in] cbInput

Размер (в байтах) буфера, на который указывает параметр pbInput .

[out, optional] pbOutput

Адрес буфера для получения сигнатуры, созданной этой функцией. Параметр cbOutput содержит размер этого буфера.

Если этот параметр имеет значение NULL, эта функция вычислит размер, необходимый для зашифрованных данных, и вернет размер в расположении, на который указывает параметр pcbResult .

[in] cbOutput

Размер (в байтах) буфера, на который указывает параметр pbOutput .

[out] pcbResult

Указатель на переменную DWORD , которая получает количество байтов, скопированных в буфер pbOutput . Если pbOutput имеет значение NULL, он получает размер в байтах, необходимый для подписи.

Возвращаемое значение

Если функция выполнена успешно, функция возвращает ноль.

Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header cryptxml.h