我有兴趣尝试从数字签名中读取字段。我有调用 CryptQueryObject 的代码,然后是 CryptMsgGetParam 来获取一些字段,最后是 CertFindCertificateInStore 来加载证书。
关于如何使用 Cryptography Next Generation APIs 的任何提示?微软告诉我 CryptQueryObject 已被弃用,但没有指出它的替代品。
我有兴趣尝试从数字签名中读取字段。我有调用 CryptQueryObject 的代码,然后是 CryptMsgGetParam 来获取一些字段,最后是 CertFindCertificateInStore 来加载证书。
关于如何使用 Cryptography Next Generation APIs 的任何提示?微软告诉我 CryptQueryObject 已被弃用,但没有指出它的替代品。
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 中没有对应的函数。也许这个被错误地标记为已弃用。