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

Функция CadesMsgEnhanceSignatureAll

Функция создания усовершенствованной подписи для всех подписей в сообщении.

Синтаксис

C/C++
 BOOL CadesMsgEnhanceSignatureAll (
   __in HCRYPTMSG hCryptMsg,
   __in_opt PCADES_SIGN_PARA pCadesSignPara
 );

Параметры

hCryptMsg

[in] Дескриптор подписанного сообщения, должен быть открыт с помощью CryptMsgOpenToDecode .

pCadesSignPara

[in, optional] Указатель на структуру CADES_SIGN_PARA, задающую параметры создания усовершенствованной подписи.

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

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

Примечания

С помощью данной функции подписи, созданные в формате CAdES BES, могут быть дополнены до усовершенствованных подписей CADES-X Long Type 1. Если исходные подписи не соответствует формату CAdES BES, то они не могут быть дополнены ни до CAdES BES, ни до CADES-X Long Type 1.

Если поле dwCadesType в структуре на которую указывает параметр pCadesSignPara имеет значение CADES_X_LONG_TYPE_1, функция добавляет ко всем подписям, содержащимся в сообщении, созданном с помощью CadesMsgOpenToEncode, неподписанные атрибуты, необходимые для соответствия CADES-X Long Type 1 (штампы времени на подпись и на доказательства подлинности, ссылки на сертификаты и информацию об отзыве, значения сертификатов, CRL и OCSP ответов, использовавшихся при проверке цепочки). Если dwCadesType имеет значение CADES_BES, функция проверяет все подписи на соответствие CAdES BES, без добавления дополнительных атрибутов.

В случае отделённой подписи для работы функции CadesMsgEnhanceSignatureAll нет необходимости подавать в CryptMsgUpdate подписанные данные, достаточно подать только отделённую подпись.

Замечание

Функция CadesMsgEnhanceSignatureAll не выполняет проверку криптографической подписи. В ряде случаев, когда отсутствует доверие к сообщению, подаваемому на вход, проверку криптографической подписи следует выполнить самостоятельно.
Например подобная необходимость может возникнуть, если процессы подписания и усовершенствования разделены по времени и/или месту.

Требования

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