Windows 确定证书存储系统还是物理存储系统,仅具有HCERTSTORE句柄

Windows 确定证书存储系统还是物理存储系统,仅具有HCERTSTORE句柄,windows,cryptoapi,certificate-store,Windows,Cryptoapi,Certificate Store,让我们假设,我们有一个有效的HCERTSTORE句柄,它是打开的证书存储。我们如何确定-是实体店还是系统店 限制1-我们应该只使用CryptoAPI(C++) 限制2-我们已经成功地忘记了CertOpenStore()调用中使用了什么类型的存储。我看不到用CryptoAPI解决这个问题的方法,而且,由于限制2是人工的,所以我不认为它是为了解决这个问题而设计的。可关闭的句柄不能在进程之间传递,因此人们不能“忘记”它是什么,除非是故意的:知识就在那里,在获得句柄的代码中 通过查看左窗格中的函数列表,

让我们假设,我们有一个有效的HCERTSTORE句柄,它是打开的证书存储。我们如何确定-是实体店还是系统店

限制1-我们应该只使用CryptoAPI(C++)


限制2-我们已经成功地忘记了CertOpenStore()调用中使用了什么类型的存储。

我看不到用CryptoAPI解决这个问题的方法,而且,由于限制2是人工的,所以我不认为它是为了解决这个问题而设计的。可关闭的句柄不能在进程之间传递,因此人们不能“忘记”它是什么,除非是故意的:知识就在那里,在获得句柄的代码中


通过查看左窗格中的函数列表,我看到了,但是只有一个预定义属性,
CERT\u STORE\u LOCALIZED\u NAME\u PROP\u ID
,这是不可靠的。

限制是任意的。我看不出有什么问题需要解决。句柄不能在进程之间传递,因此除非有意,否则不能“忘记”它是什么。我投票将这个问题作为离题题来结束,因为要解决的问题,特别是约束是人为的。谢谢。我也没有找到解决问题的方法,这就是我问的原因。问题不在于“实践”本身,而是它帮助我定义了包装本机证书存储方法的接口,所以对我来说是实践(清除)。