Развернуть все
Свернуть все

Функция CadesSignMessage

Аналог функции CryptSignMessage для работы с усовершенствованной подписью.

Синтаксис

C/C++
 BOOL CadesSignMessage (
   __in PCADES_SIGN_MESSAGE_PARA pSignPara,
   __in BOOL fDetachedSignature,
   __in DWORD cToBeSigned,
   __in const BYTE *rgpbToBeSigned[],
   __in DWORD rgcbToBeSigned[],
   __out PCRYPT_DATA_BLOB *ppSignedBlob
 );

Параметры

pSignPara

[in] Указатель на структуру CADES_SIGN_MESSAGE_PARA.

fDetachedSignature

[in] Аналогичен параметру функции CryptSignMessage .

cToBeSigned

[in] Аналогичен параметру функции CryptSignMessage .

rgpbToBeSigned

[in] Аналогичен параметру функции CryptSignMessage .

rgcbToBeSigned

[in] Аналогичен параметру функции CryptSignMessage .

ppSignedBlob

[out] Указатель на указатель на структуру CRYPT_DATA_BLOB , в которой возвращается закодированное подписанное сообщение. Структура должна быть освобождена после использования с помощью CadesFreeBlob.

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

TRUE в случае успеха, FALSE в случае неудачи, дополнительную информацию об ошибке можно получить через GetLastError .

Примечания

Аналог функции Crypto API для создания подписанного сообщения CryptSignMessage , за исключением первого аргумента, в котором есть возможность задать параметры создания усовершенствованной подписи. Данную функцию нужно вызывать только один раз (в отличие от функции CryptSignMessage , которая вызывается дважды: для получения длины и для получения самого сообщения). Закодированное сообщение возвращается в ppSignedBlob, после использования его нужно освободить с помощью функции CadesFreeBlob.

Если элемент структуры pSignPara->pSignMessagePara->pSigningCert равен NULL, то при создании подписи будет выдано окно для выбора сертификата из хранилища "Личные" ("My") текущего пользователя. При этом сертификаты, срок действия которых истёк или в которых отсутствует ссылка на закрытый ключ, в списке не отображаются.

Требования

Заголовочный файл cades.h
Библиотека cades.dll (Windows), cades.so (Unix)
Библиотека импорта cades.lib (Windows)
Минимальная версия продукта 1.0