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