共用方式為


SignerSignEx 函式

SignerSignEx函式會簽署指定的檔案,並傳回已簽署資料的指標。

注意

此函式沒有相關聯的標頭檔或匯入程式庫。 若要呼叫此函式,您必須建立使用者定義的標頭檔,並使用 LoadLibraryGetProcAddress 函式動態連結至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
為 PE 檔案建立 SIP 間接資料時,排除頁面雜湊。 此旗標的優先順序高於 SPC_INC_PE_PAGE_HASHES_FLAG 旗標。
如果未指定 SPC_EXC_PE_PAGE_HASHES_FLAGSPC_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) 和私密金鑰資訊。

如果此參數的值是 NullpSignerCert 參數的值必須指定與 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
Mssign32.dll

另請參閱

SignerSign

SignerFreeSignerCoNtext