我正在寻找一种在任何位置 (CurrentUser
或LocalMachine
)获取所有系统证书存储的方法。
StoreLocation
枚举显然不包括用X509Store(String)
or创建的用户定义的证书存储X509Store(String, StoreLocation)
。这也没有定义其他标准存储,例如SPC
or Request
。
我查看了crypto32.dll
API,除了注册/注销之外,我看不到任何相关内容。
非基于文件系统的存储出现在注册表中(例如HKEY_CURRENT_USER\SOFTWARE\Microsoft\SystemCertificates\Root
)。PowerShell 证书提供程序可以询问存储。这是——查询注册表——它在后台做什么?这样的手动解决方案可以在 XP/Vista/7/8 之间移植吗?