CryptMsgCountersign 函数 (wincrypt.h)

CryptMsgCountersign 函数对消息中的现有签名进行反签名。 反签名 用于对现有签名的消息加密 哈希 进行签名。 反签名可用于各种目的,包括对消息进行时间戳。

语法

BOOL CryptMsgCountersign(
  [in, out] HCRYPTMSG                hCryptMsg,
  [in]      DWORD                    dwIndex,
  [in]      DWORD                    cCountersigners,
  [in]      PCMSG_SIGNER_ENCODE_INFO rgCountersigners
);

参数

[in, out] hCryptMsg

要使用的加密消息句柄。

[in] dwIndex

要进行反签名的已签名或已签名的信封邮件中签名者的从零开始的索引。

[in] cCountersigners

rgCountersigners 数组中的反签名器数。

[in] rgCountersigners

计数器 CMSG_SIGNER_ENCODE_INFO结构的数组

返回值

如果函数成功,则函数) 返回非零 (TRUE

如果函数失败,则返回零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError

可以从 CryptMsgCountersignEncoded 传播错误。

最常返回以下错误代码。

返回代码 说明
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
内存不足。
ERROR_MORE_DATA
指定的区域不够大,无法容纳返回的数据。
 

如果函数失败, GetLastError 可能会返回 抽象语法表示法 One (ASN.1) 编码/解码错误。 有关这些错误的信息,请参阅 ASN.1 编码/解码返回值

要求

要求
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 wincrypt.h
Library Crypt32.lib
DLL Crypt32.dll

另请参阅

CryptMsgCountersignEncoded

CryptMsgVerifyCountersignatureEncoded

低级别消息函数

简化的消息函数