确定,是证书。存储系统或实体,只有 HCERTSTORE 句柄
determine, is cert. store system or physical, having HCERTSTORE handle only
让我们假设,我们有一个打开的证书存储的有效 HCERTSTORE 句柄。我们如何确定 - 是实体店还是系统店?
限制 1 - 我们应该只使用 CryptoAPI (C++)。
限制 2 - 我们已经成功地忘记了 CertOpenStore() 调用中使用了哪种存储。
我没有看到使用 CryptoAPI 解决此问题的方法,并且由于约束 2 是人为的,所以不要认为它旨在解决此问题。可关闭的句柄不能在进程之间传递,因此除非故意 "forget" 否则无法知道它是什么:知识就在那里,在获得句柄的代码中。
通过查看 CertOpenStore - MSDN, I see CertGetStoreProperty()
左窗格中的函数列表,但只有一个预定义的 属性、CERT_STORE_LOCALIZED_NAME_PROP_ID
,这是不可靠的。
让我们假设,我们有一个打开的证书存储的有效 HCERTSTORE 句柄。我们如何确定 - 是实体店还是系统店?
限制 1 - 我们应该只使用 CryptoAPI (C++)。
限制 2 - 我们已经成功地忘记了 CertOpenStore() 调用中使用了哪种存储。
我没有看到使用 CryptoAPI 解决此问题的方法,并且由于约束 2 是人为的,所以不要认为它旨在解决此问题。可关闭的句柄不能在进程之间传递,因此除非故意 "forget" 否则无法知道它是什么:知识就在那里,在获得句柄的代码中。
通过查看 CertOpenStore - MSDN, I see CertGetStoreProperty()
左窗格中的函数列表,但只有一个预定义的 属性、CERT_STORE_LOCALIZED_NAME_PROP_ID
,这是不可靠的。