Перечисления «работают» в том смысле, что вы можете передать их. Но в macOS только следующие значения StoreName будут успешными:
- My (чтение-запись, удаление не удастся, если какие-либо пользовательские правила довериябыли применены)
- Root (только для чтения)
- Disallowed (только для чтения)
My
соответствует System.keychain
(LocalMachine
)или login.keychain
(CurrentUser
).
Разве этого достаточно на обеих платформах, чтобы найти все установленные сертификаты?
Нет, на любой платформе их недостаточно, чтобы найти все установленныхсертификаты.
- В macOS можно создать любое количество цепочек для ключей, и .NET не может их перечислить.
- В Windows можно создать любое количество хранилищ с произвольным именем,и .NET не может перечислить их.
- В обеих системах вещи могут быть установлены под разными пользователями.
Но перечисление хранилища My
для "пригодных для использования сертификатов" илиRoot
хранилище для «доверенных сертификатов» является достаточным решением на 99% на обеих платформах.