Функция 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 |
|
См. также раздел