Функция создания усовершенствованной подписи.
Синтаксис
BOOL CadesMsgEnhanceSignature ( __in HCRYPTMSG hCryptMsg, __in DWORD dwSignatureIndex, __in_opt PCADES_SIGN_PARA pCadesSignPara );
Параметры
- hCryptMsg
-
[in] Дескриптор подписанного сообщения, должен быть открыт с помощью
CryptMsgOpenToDecode .
- dwSignatureIndex
-
[in] Номер обрабатываемой подписи.
- pCadesSignPara
-
[in, optional] Указатель на структуру CADES_SIGN_PARA, задающую параметры создания усовершенствованной подписи.
Возвращаемое значение
TRUE в случае успеха, FALSE в случае неудачи, дополнительную информацию об ошибке можно получить через
Примечания
С помощью данной функции подпись, созданная в формате 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, без добавления дополнительных атрибутов. Точно так же, если поле dwCadesType имеет значение CADES_X_LONG_TYPE_1 то сначала проверяется, не соответствует ли уже подпись CADES_X_LONG_TYPE_1 (cоответствие определяется по наличию нужных атрибутов), и если соответствует, то функция успешно завершается, не внося никаких изменений. Дескриптор сообщения (hCryptMsg) должен быть открыт с помощью
В случае отделённой подписи для работы функции CadesMsgEnhanceSignature нет необходимости подавать в
Замечание
|
---|
Функция CadesMsgEnhanceSignature не выполняет проверку криптографической подписи. В ряде случаев, когда отсутствует доверие к сообщению, подаваемому на вход, проверку криптографической подписи следует выполнить самостоятельно. |
Требования
Заголовочный файл | cades.h |
---|---|
Библиотека | cades.dll (Windows), cades.so (Unix) |
Библиотека импорта | cades.lib (Windows) |
Минимальная версия продукта | 1.0 |