再会,
有人可以帮我使用 Crypto Api 函数 CryptRetrieveTimeStamp 吗?我成功地使用 CryptSignMessage 对我的消息进行签名,现在我想在 TSA 上为数据添加时间戳,但 CryptRetrieveTimeStamp 总是返回 *TRUST_E_TIME_STAMP* 错误。
我的函数如下所示,pbMessage和cbMessage是从 CryptSignMessage 接收的数据和大小:
PCRYPT_TIMESTAMP_CONTEXT tcontext = NULL;
HCERTSTORE hStore = NULL;
fReturn = CryptRetrieveTimeStamp(widestr.c_str(),
TIMESTAMP_NO_AUTH_RETRIEVAL,
0,
szOID_RSA_MD5,
NULL,
(const BYTE*)pbMessage,
cbMessage,
&tcontext,
NULL,
&hStore);
我知道错误意味着:时间戳签名者和/或证书无法验证或格式错误。但我不知道什么或如何解决这个错误?
任何帮助/提示将不胜感激。谢谢,玛格达