1
我正在寻找一种获取所有系统证书存储区的方法,任何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之间,这种手动解决方案是否可以移植?
非常好,谢谢! (我想我错过了其他475个cryptoAPI方法/属性)。现在我只需要掌握从C#打击非托管世界...... –
@Martin检查http://pinvoke.net/。虽然它不包含CertEnumSystemStore(我已选中),但它包含类似的功能,可帮助您开始使用。 –