7

我有兴趣尝试从数字签名中读取字段。我有调用 CryptQueryObject 的代码,然后是 CryptMsgGetParam 来获取一些字段,最后是 CertFindCertificateInStore 来加载证书。

关于如何使用 Cryptography Next Generation APIs 的任何提示?微软告诉我 CryptQueryObject 已被弃用,但没有指出它的替代品。

4

1 回答 1

0

CryptDecodeObject[Ex]未标记为已弃用。只是在说'。

您可以通过调用具有不同对象类型的循环来模拟检测 blob 类型的逻辑,CryptDecodeObjectEx以查看哪个不会出错。

也就是说,如果您用于CryptQueryObject解析文件/数据块(而不是检测其类型),并且您很清楚那是什么,请查看https://docs 下的数据块是否有主题类型常量。 microsoft.com/en-us/windows/win32/seccrypto/constants-for-cryptencodeobject-and-cryptdecodeobject

一般来说,处理 ASN.1 数据结构(证书、CSR、CRL 等)的 CryptoAPI 函数不会被弃用,并且在 CNG API 中没有对应的函数。也许这个被错误地标记为已弃用。

于 2020-05-12T19:54:49.797 回答