Поделиться через


Функция CryptMsgCountersign (wincrypt.h)

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

Синтаксис

BOOL CryptMsgCountersign(
  [in, out] HCRYPTMSG                hCryptMsg,
  [in]      DWORD                    dwIndex,
  [in]      DWORD                    cCountersigners,
  [in]      PCMSG_SIGNER_ENCODE_INFO rgCountersigners
);

Параметры

[in, out] hCryptMsg

Используемый дескриптор криптографических сообщений.

[in] dwIndex

Отсчитываемый от нуля индекс подписывающего в сообщении со знаком или подписью и конвертом, который требуется переподписывать.

[in] cCountersigners

Число подписок в массиве rgCountersigners .

[in] rgCountersigners

Массив структур CMSG_SIGNER_ENCODE_INFO подписчиков.

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

Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).

Если функция завершается сбоем, она возвращает ноль (FALSE). Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError.

Ошибка может быть распространена из CryptMsgCountersignEncoded.

Чаще всего возвращаются следующие коды ошибок.

Код возврата Описание
E_INVALIDARG
Один или несколько аргументов недопустимы.
E_OUTOFMEMORY
Не хватает памяти.
ERROR_MORE_DATA
Указанная область недостаточно велика для хранения возвращаемых данных.
 

В случае сбоя функции GetLastError может вернуть ошибку кодирования и декодирования абстрактного синтаксиса (ASN.1). Сведения об этих ошибках см. в разделе Кодирование и декодирование возвращаемых значений ASN.1.

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header wincrypt.h
Библиотека Crypt32.lib
DLL Crypt32.dll

См. также раздел

CryptMsgCountersignEncoded

CryptMsgVerifyCountersignatureEncoded

Функции сообщений низкого уровня

Упрощенные функции сообщений