Функция SignerSignEx

Функция SignerSignEx подписывает указанный файл и возвращает указатель на подписанные данные.

Примечание

У этой функции нет связанного файла заголовка или библиотеки импорта. Чтобы вызвать эту функцию, необходимо создать определяемый пользователем файл заголовка и использовать функции LoadLibrary и GetProcAddress для динамического связывания с Mssign32.dll.

 

Синтаксис

HRESULT WINAPI SignerSignEx(
  _In_     DWORD                 dwFlags,
  _In_     SIGNER_SUBJECT_INFO   *pSubjectInfo,
  _In_     SIGNER_CERT           *pSignerCert,
  _In_     SIGNER_SIGNATURE_INFO *pSignatureInfo,
  _In_opt_ SIGNER_PROVIDER_INFO  *pProviderInfo,
  _In_opt_ LPCWSTR               pwszHttpTimeStamp,
  _In_opt_ PCRYPT_ATTRIBUTES     psRequest,
  _In_opt_ LPVOID                pSipData,
  _Out_    SIGNER_CONTEXT        **ppSignerContext
);

Параметры

dwFlags [in]

Изменяет поведение этой функции.

Если подписанный файл является переносимым исполняемым файлом (PE), это может быть ноль или сочетание одного или нескольких из следующих значений. Эти идентификаторы определяются в mssip.h.

Значение Значение
SPC_EXC_PE_PAGE_HASHES_FLAG
0x10
Исключите хэши страниц при создании косвенных данных SIP для PE-файла. Этот флаг имеет приоритет над флагом SPC_INC_PE_PAGE_HASHES_FLAG .
Если ни SPC_EXC_PE_PAGE_HASHES_FLAG , ни флаг SPC_INC_PE_PAGE_HASHES_FLAG не указан, для этого параметра используется значение, заданное с помощью функции WintrustSetDefaultIncludePEPageHashes . Этот параметр по умолчанию исключает хэши страниц при создании косвенных данных SIP для pe-файлов.
Windows Server 2003 и Windows XP: Это значение не поддерживается.
SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG
0x20
Это значение не поддерживается.
SPC_INC_PE_DEBUG_INFO_FLAG
0x40
Это значение не поддерживается.
SPC_INC_PE_RESOURCES_FLAG
0x80
Это значение не поддерживается.
SPC_INC_PE_PAGE_HASHES_FLAG
0x100
Включите хэши страниц при создании косвенных данных SIP для PE-файла.
Windows Server 2003 и Windows XP: Это значение не поддерживается.

 

pSubjectInfo [in]

Указатель на структуру SIGNER_SUBJECT_INFO , указывающую предмет для знака.

pSignerCert [in]

Указатель на структуру SIGNER_CERT , указывающую сертификат, используемый для создания цифровой подписи.

pSignatureInfo [in]

Указатель на структуру SIGNER_SIGNATURE_INFO , содержащую сведения о цифровой подписи.

pProviderInfo [in, необязательный]

Указатель на структуру SIGNER_PROVIDER_INFO , указывающую поставщика служб шифрования (CSP) и сведения о закрытом ключе, используемые для создания цифровой подписи.

Если значение этого параметра равно NULL, значение параметра pSignerCert должно указывать сертификат, связанный с CSP.

pwszHttpTimeStamp [in, optional]

URL-адрес сервера метки времени.

psRequest [in, необязательный]

Указатель на массив CRYPT_ATTRIBUTE структур, добавляемых в запрос подписи. Этот параметр игнорируется, если параметр pwszHttpTimeStamp не содержит допустимого значения, не равного NULL.

pSipData [в, необязательно]

32-разрядное значение, которое передается в качестве дополнительных данных в функции SIP. Формат и содержимое определяется поставщиком SIP.

ppSignerContext [out]

Адрес указателя на структуру SIGNER_CONTEXT , содержащую подписанный большой двоичный объект. Завершив использование структуры SIGNER_CONTEXT , освободите структуру SIGNER_CONTEXT , вызвав функцию SignerFreeSignerContext .

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

Если функция завершается успешно, функция возвращает S_OK.

Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
DLL
Mssign32.dll

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

SignerSign

SignerFreeSignerContext