Функция CadesAddHashSignature

Добавляет новую усовершенствованную подпись в сообщение по хэш-значению.

Синтаксис

 BOOL CadesAddHashSignature (
   __in PCADES_SIGN_MESSAGE_PARA pSignPara,
   __in const BYTE *pbDetachedSignBlob,
   __in DWORD cbDetachedSignBlob,
   __in const BYTE *pbHash,
   __in DWORD cbHash,
   __out PCRYPT_DATA_BLOB *ppSignedBlob
 );

Параметры

Параметр Значение
pSignPara [in] Указатель на структуру CADES_SIGN_MESSAGE_PARA.
pbDetachedSignBlob [in] Указатель на значение закодированной отделенной подписи.
cbDetachedSignBlob [in] Длина закодированной отделенной подписи.
pbHash [in] Указатель на хэш-значение.
cbHash [in] Длина хэш-значения.
ppSignedBlob [out] Указатель на указатель на структуру CRYPT_DATA_BLOB, в которой возвращается закодированное подписанное сообщение. Структура должна быть освобождена после использования с помощью CadesFreeBlob.

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

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

Примечания

Закодированное сообщение возвращается в ppSignedBlob, после использования его нужно освободить с помощью функции CadesFreeBlob.

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

Данная функция создает только отделенную подпись.

Требования

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