Я хочу установить сертификат на машине, если этому уже не установили его. Я пытался проверить, содержит ли хранилище сертификат, но так или иначе мое хранилище всегда пусто. Я проверил папку "Intermediate Certification Authorities" и нашел 18 сертификатов там. Итак, почему это кодирует запись 0?
X509Store store = new X509Store(StoreName.CertificateAuthority, StoreLocation.LocalMachine);
Console.WriteLine(store.Certificates.Count);
Я также попробовал StoreLocation. CurrentUser. Что я делаю неправильно?
Для доступа к сертификатам необходимо вызвать store.Open(OpenFlags.ReadWrite);
.
] Одно из возможных объяснений может заключаться в том, что процесс, запускающий этот код, может не иметь разрешений на этот конкретный магазин [
]. [] Хранилище Cert на самом деле является оберткой вокруг специальной части файловой системы, и все certs на самом деле являются просто файлами. Все они имеют списки контроля доступа (ACL), так что если у вас нет нужных разрешений, вы их не увидите. [
] [] Вы можете легко проверить, является ли это вашей проблемой, запустив код с правами администратора (будьте внимательны к UAC).[
]