Функция CryptMsgCountersignEncoded (wincrypt.h)
Функция CryptMsgCountersignEncoded задает существующую подпись сообщения PKCS #7. Создается буфер pbCountersignatureBYTE является созданным в кодировке PKCS #7 в кодировке SignerInfo, который можно использовать в качестве неуверенного атрибута countersignature сообщения PKCS #9, подписанного или подписанного и конвертированного.
Синтаксис
BOOL CryptMsgCountersignEncoded(
[in] DWORD dwEncodingType,
[in] PBYTE pbSignerInfo,
[in] DWORD cbSignerInfo,
[in] DWORD cCountersigners,
[in] PCMSG_SIGNER_ENCODE_INFO rgCountersigners,
[out] PBYTE pbCountersignature,
[in, out] PDWORD pcbCountersignature
);
Параметры
[in] dwEncodingType
Указывает используемый тип кодирования. В настоящее время используются только X509_ASN_ENCODING и PKCS_7_ASN_ENCODING; однако в будущем могут быть добавлены дополнительные типы кодирования. Для любого текущего типа кодирования используйте следующее:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pbSignerInfo
Указатель на закодированный SignerInfo, который должен быть подназначен.
[in] cbSignerInfo
Число данных SignerInfo в байтах в кодировке.
[in] cCountersigners
Число счетчиков в массиве rgCountersigners.
[in] rgCountersigners
Массив структур CMSG_SIGNER_ENCODE_INFO счетчиков.
[out] pbCountersignature
Указатель на буфер для получения атрибута в кодировке PKCS #9
При входных данных этот параметр можно null, чтобы задать размер этой информации для целей выделения памяти. Дополнительные сведения см. в разделе получение данных неизвестной длины.
[in, out] pcbCountersignature
Указатель на переменную, указывающую размер буфера в байтах, на который указывает параметр pbCountersignature. Когда функция возвращается, переменная, на которую указывает параметр pcbCountersignature, содержит количество байтов, хранящихся в буфере.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ненулевое (TRUE).
Если функция завершается ошибкой, возвращаемое значение равно нулю (FALSE). Для получения расширенных сведений об ошибке вызовите GetLastError.
В следующей таблице перечислены коды ошибок, наиболее часто возвращаемые функцией GetLastError.
Возвращаемый код | Описание |
---|---|
|
Идентификатор объекта плохо отформатирован. |
|
Один или несколько аргументов недопустимы. |
|
Не хватает памяти. |
Распространенные ошибки могут быть возвращены из одной из следующих функций:
- CryptCreateHash
- CryptHashData
- CryptGetHashParam
- CryptSignHash
- CryptMsgOpenToEncode
- CryptMsgUpdate
- CryptMsgControl
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2003 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | wincrypt.h |
библиотеки |
Crypt32.lib |
DLL | Crypt32.dll |
См. также
CryptMsgCountersign
CryptMsgVerifyCountersignatureEncoded