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(我已選中),但它包含類似的功能,可幫助您開始使用。 –