CryptMsgCountersignEncoded 函式 (wincrypt.h)
CryptMsgCountersignEncoded 函式會計數器簽署現有的 PKCS #7 訊息簽章。 pbCountersignatureBYTE 緩衝區是 PKCS #7 編碼的 SignerInfo,可用來做為 PKCS #9 簽署數據或已簽署和封包數據訊息的未驗證 Countersignature 屬性。
語法
BOOL CryptMsgCountersignEncoded(
[in] DWORD dwEncodingType,
[in] PBYTE pbSignerInfo,
[in] DWORD cbSignerInfo,
[in] DWORD cCountersigners,
[in] PCMSG_SIGNER_ENCODE_INFO rgCountersigners,
[out] PBYTE pbCountersignature,
[in, out] PDWORD pcbCountersignature
);
參數
[in] dwEncodingType
指定所使用的編碼類型。 目前,只會使用X509_ASN_ENCODING和PKCS_7_ASN_ENCODING;不過,未來可能會新增其他編碼類型。 針對目前任一種編碼類型,請使用:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING。
[in] pbSignerInfo
要反正負號之已編碼的 SignerInfo 指標。
[in] cbSignerInfo
編碼的 SignerInfo 數據的計數,以位元組為單位。
[in] cCountersigners
rgCountersigners 陣列中的計數器編號。
[in] rgCountersigners
計數器 CMSG_SIGNER_ENCODE_INFO 結構的數位。
[out] pbCountersignature
要接收編碼 PKCS #9 計數器符號 屬性之緩衝區的指標。
在輸入時,此參數可以 NULL,以針對記憶體配置目的設定此資訊的大小。 如需詳細資訊,請參閱 擷取未知長度的數據。
[in, out] pcbCountersignature
變數的指標,指定 pbCountersignature 參數所指向之緩衝區的大小,以位元組為單位。 當函式傳回時, 參數所指向的變數會包含儲存在緩衝區中的位元元組數目。
傳回值
如果函式成功,則傳回值為非零值(TRUE)。
如果函式失敗,則傳回值為零 (FALSE)。 如需擴充錯誤資訊,請呼叫 getLastError
下表列出 GetLastError 函式最常傳回的錯誤碼。
傳回碼 | 描述 |
---|---|
|
物件標識碼的格式不正確。 |
|
一或多個自變數無效。 |
|
記憶體不足。 |
傳播的錯誤可能會從下列其中一個函式傳回:
- CryptCreateHash
- CryptHashData
- CryptGetHashParam
- CryptSignHash
- CryptMsgOpenToEncode
- CryptMsgUpdate
- CryptMsgControl
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | wincrypt.h |
連結庫 | Crypt32.lib |
DLL | Crypt32.dll |