我正在寻找一种方法来获取所有系统证书存储,包括任何location(CurrentUser
或LocalMachine
)。
StoreLocation
枚举显然不包括使用X509Store(String)
或X509Store(String, StoreLocation)
创建的用户定义的证书库。此外,这不会定义other standard stores,例如SPC
或Request
。
我查看了crypto32.dll
API,除了注册/取消注册外,我看不到任何相关内容。
基于非文件系统的商店出现在注册表中(例如HKEY_CURRENT_USER\SOFTWARE\Microsoft\SystemCertificates\Root
)。 PowerShell Certificate Provider可以询问商店。这是 - 查询注册表 - 它在幕后做了什么?这样的手动解决方案是否可以在XP / Vista / 7/8之间移植?