Аналог функции CadesSignMessage для создания подписи по хэш-значению.
Синтаксис
BOOL CadesSignHash ( __in PCADES_SIGN_MESSAGE_PARA pSignPara, __in const BYTE *pbHash, __in DWORD cbHash, __in_opt LPCSTR pszInnerContentObjID, __out PCRYPT_DATA_BLOB *ppSignedBlob );
Параметры
- pSignPara
-
[in] Указатель на структуру CADES_SIGN_MESSAGE_PARA.
- pbHash
-
[in] Указатель на хэш-значение.
- cbHash
-
[in] Длина хэш-значения.
- pszInnerContentObjID
-
[in] Тип сообщения. Аналогичен параметру pszInnerContentObjID функции
CryptMsgOpenToEncode .
- ppSignedBlob
-
[out] Указатель на указатель на структуру
CRYPT_DATA_BLOB , в которой возвращается закодированное подписанное сообщение. Структура должна быть освобождена после использования с помощью CadesFreeBlob.
Возвращаемое значение
TRUE в случае успеха, FALSE в случае неудачи, дополнительную информацию об ошибке можно получить через
Примечания
Закодированное сообщение возвращается в ppSignedBlob, после использования его нужно освободить с помощью функции CadesFreeBlob.
Если элемент структуры pSignPara->pSignMessagePara->pSigningCert равен NULL, то при создании подписи будет выдано окно для выбора сертификата из хранилища "Личные" ("My") текущего пользователя. При этом сертификаты, срок действия которых истёк или в которых отсутствует ссылка на закрытый ключ, в списке не отображаются.
Данная функция создает только отделенную подпись.
Требования
Заголовочный файл | cades.h |
---|---|
Библиотека | cades.dll (Windows), cades.so (Unix) |
Библиотека импорта | cades.lib (Windows) |
Минимальная версия продукта | 1.0 |