Функция CryptSIPGetSignedDataMsg (mssip.h)
Функция CryptSIPGetSignedDataMsg извлекает из файла сигнатуру Authenticode .
Синтаксис
BOOL CryptSIPGetSignedDataMsg(
[in] SIP_SUBJECTINFO *pSubjectInfo,
[out] DWORD *pdwEncodingType,
[in] DWORD dwIndex,
[in, out] DWORD *pcbSignedDataMsg,
[out] BYTE *pbSignedDataMsg
);
Параметры
[in] pSubjectInfo
Указатель на структуру SIP_SUBJECTINFO , содержащую сведения о теме сообщения.
[out] pdwEncodingType
Тип кодирования подписи Authenticode.
Этот параметр может быть сочетанием одного или нескольких из следующих значений.
Значение | Значение |
---|---|
|
Задает кодировку сообщений PKCS #7 . |
|
Задает кодировку сертификата X.509 . |
[in] dwIndex
Этот параметр зарезервирован и должен иметь нулевое значение.
[in, out] pcbSignedDataMsg
Длина (в байтах) буфера, на который указывает параметр pbSignedDataMsg .
[out] pbSignedDataMsg
Указатель на буфер для получения возвращенной сигнатуры Authenticode.
Чтобы определить необходимый размер буфера, задайте для параметра pbSignedDataMsgзначение NULL и вызовите функцию CryptSIPGetSignedDataMsg . Эта функция поместит требуемый размер буфера в байтах в значение, на которое указывает pcbSignedDataMsg. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
Возвращаемое значение
Если функция выполняется успешно, функция возвращает значение TRUE.
Если функция завершается сбоем, она возвращает значение FALSE. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError. Ниже приведены некоторые возможные коды ошибок.
Код возврата | Описание |
---|---|
|
Не удалось найти сигнатуру, указанную индексом. |
|
Указанные данные или формат файла пакета интерфейса субъекта (SIP) недопустимы. |
|
Структура [SIP_SUBJECTINFO](/windows/desktop/api/mssip/ns-mssip-sip_subjectinfo) является пустым указателем. |
|
Размер буфера сообщений был недостаточным для хранения полученных данных. Параметр pcbSignedDataMsg был задан для указания требуемого размера буфера. |
|
Указанный тип субъекта недопустим. |
Комментарии
К темам относятся, помимо прочего, переносимые исполняемые образы (.exe), образы кабинетов (.cab), неструктурированные файлы и файлы каталога. Каждый тип субъекта использует свое подмножество своих данных для вычисления хэша и требует разных процедур хранения и извлечения. Таким образом, каждый тип субъекта имеет уникальную спецификацию SIP.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | mssip.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |