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
);
parameters
-
dwFlags [in]
-
修改此函数的行为。
如果要签名的文件是可移植的可执行文件 (PE) 文件,则它可以是零,也可以是以下一个或多个值的组合。 这些标识符在 Mssip.h 中定义。
值 含义 - SPC_EXC_PE_PAGE_HASHES_FLAG
- 0x10
为 PE 文件创建 SIP 间接数据时排除页哈希。 此标志优先于 SPC_INC_PE_PAGE_HASHES_FLAG 标志。
如果 SPC_EXC_PE_PAGE_HASHES_FLAG 或 SPC_INC_PE_PAGE_HASHES_FLAG 标志均未指定,则使用 WintrustSetDefaultIncludePEPageHashes 函数设置的值用于此设置。 此设置的默认设置是在为 PE 文件创建 SIP 间接数据时排除页面哈希。
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
为 PE 文件创建 SIP 间接数据时,包括页面哈希。
Windows Server 2003 和 Windows XP: 不支持此值。 -
pSubjectInfo [in]
-
指向 SIGNER_SUBJECT_INFO 结构的指针,该结构指定要签名的主题。
-
pSignerCert [in]
-
指向 SIGNER_CERT 结构的指针,该结构指定要用于创建数字签名的证书。
-
pSignatureInfo [in]
-
指向包含数字签名相关信息 的 SIGNER_SIGNATURE_INFO 结构的指针。
-
pProviderInfo [in, optional]
-
指向 SIGNER_PROVIDER_INFO 结构的指针,该结构指定加密 服务提供商 (用于创建数字签名的 CSP) 和私钥信息。
如果此参数的值为 NULL,则 pSignerCert 参数的值必须指定与 CSP 关联的证书。
-
pwszHttpTimeStamp [in, optional]
-
时间戳服务器的 URL。
-
psRequest [in, optional]
-
指向添加到签名请求的 CRYPT_ATTRIBUTE 结构的数组的指针。 如果 pwszHttpTimeStamp 参数不包含非 NULL 的有效值,则忽略此参数。
-
pSipData [in, optional]
-
作为附加数据传递给 SIP 函数的 32 位值。 此格式和内容由 SIP 提供程序定义。
-
ppSignerContext [out]
-
指向包含已签名 BLOB的 SIGNER_CONTEXT 结构的指针的地址。 使用完 SIGNER_CONTEXT 结构后,通过调用 SignerFreeSignerContext 函数释放SIGNER_CONTEXT结构。
返回值
如果函数成功,该函数将返回S_OK。
如果函数失败,它将返回指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 常见 HRESULT 值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
DLL |
|
另请参阅