SignerTimeStampEx3 函式

SignerTimeStampEx3函式時間戳記指定的主體,並支援在多個簽章上設定時間戳記。

注意

此函式沒有相關聯的標頭檔或匯入程式庫。 若要呼叫此函式,您必須建立使用者定義的標頭檔,並使用 LoadLibraryGetProcAddress 函式動態連結至 Mssign32.dll。

 

語法

HRESULT WINAPI SignerTimeStampEx3(
  _In_       DWORD                  dwFlags,
  _In_       DWORD                  dwIndex,
  _In_       SIGNER_SUBJECT_INFO    *pSubjectInfo,
  _In_       PCWSTR                 pwszHttpTimeStamp,
  _In_       PCWSTR                 pszAlgorithmOid,
  _In_opt_   PCRYPT_ATTRIBUTES      psRequest,
  _In_opt_   PVOID                  pSipData,
  _Out_      SIGNER_CONTEXT         **ppSignerContext,
  _In_opt_   PCERT_STRONG_SIGN_PARA pCryptoPolicy,
  _Reserved_ PVOID                  pReserved
);

參數

dwFlags [in]

指定要產生之時間戳記類型的旗標。 此參數可以是下列其中一個值。 這些值互斥。

意義
SIGNER_TIMESTAMP_AUTHENTICODE
指定 Authenticode 時間戳記。
注意: Authenticode 不再是慣用的時間戳記類型。 未來可能會移除 Authenticode 時間戳記的支援。 建議您改用 RFC 3161。
SIGNER_TIMESTAMP_RFC3161
指定符合 RFC 3161 規範的時間戳記。

 

dwIndex [in]

指定將新增時間戳記之簽章的序號。 如果此值為零 (0) ,外部簽章將會時間戳記。

pSubjectInfo [in]

SIGNER_SUBJECT_INFO 結構的位址 ,表示要加上時間戳記的主體。

pwszHttpTimeStamp [in]

Null 終止 Unicode 字串的位址,其中包含時間戳記伺服器的 URL。

pszAlgorithmOid [in]

用來執行符合 RFC 3161 規範時間戳記的雜湊演算法。 Authenticode 時間戳記會忽略此參數。

psRequest [in, optional]

選擇性。 包含新增至時間戳記要求之其他屬性 的CRYPT_ATTRIBUTES 結構位址。

此參數是選擇性的,如果不包含此參數,則可以是 Null

pSipData [in, optional]

選擇性。 傳遞為其他資料的 32 位值,以 主體介面套件 (SIP) 函式。 此參數的格式和內容是由 SIP 提供者所定義。

此參數是選擇性的,如果不包含此參數,則可以是 Null

ppSignerCoNtext [out]

選擇性。 包含已簽署 BLOB 之 SIGNER_CONTEXT 結構的指標位址。 當您完成使用 SIGNER_CONTEXT 結構時,請呼叫 SignerFreeSignerCoNtext 函式來釋放它。

pCryptoPolicy [in, optional]

如果有, 則為CERT_STRONG_SIGN_PARA 結構的指標,其中包含用來檢查強式簽章的參數。 時間戳記必須傳遞此密碼編譯原則。

保存

保留的。 此值必須是 Null

傳回值

如果函式成功,函式會傳回S_OK。

如果函式失敗,它會傳回 HRESULT 值,指出錯誤。 此函式傳回的可能錯誤碼包括,但不限於下列各項。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

傳回碼 Description
E_INVALIDARG
針對下列情況,可以傳回此錯誤:
  • 您必須為dwFlags參數設定SIGNER_TIMESTAMP_AUTHENTICODESIGNER_TIMESTAMP_RFC3161
  • pReserved參數必須是Null
  • 如果您在dwFlags參數中設定SIGNER_TIMESTAMP_AUTHENTICODE旗標,則必須將dwIndex參數設定為零。

 

規格需求

需求
最低支援的用戶端
Windows 8 [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2012 [僅限傳統型應用程式]
DLL
Mssign32.dll

另請參閱

SignerTimeStamp

SignerTimeStampEx

SignerTimeStampEx2