решение1
Хранилище сертификатов Windows (в основном) хранится в реестре.как описано здесь. Однако, в то время как IE, Chrome, Safari/iTunes, Outlook и т. д. используют хранилище сертификатов Windows, Firefox и Thunderbird используют кроссплатформенное хранилище сертификатов NSS. Opera также использует свое собственное отдельное хранилище сертификатов.
Если вы хотите получить доступ к хранилищу сертификатов Windows, то вам следует использовать CryptoAPI от Microsoft. Если вы хотите получить доступ к хранилищу сертификатов NSS, то вы можете использоватьбиблиотека НСС.
решение2
В Windows нет никакой «папки» сертификатов; она хранится во внутренней базе данных (Реестр Windows), которые вы используете, используя способы, которые вы перечислили в своем исходном вопросе. Самый простой способдобраться до этой базы данныхпросто поместите certmgr.msc
его в поле «Пуск/Выполнение».
Если вам действительно интересно, вы можете найти фактические записи реестра здесь:
\SOFTWARE\Microsoft\SystemCertificates\
Для HKEY_CURRENT_USER
сертификатов, специфичных для пользователя и HKEY_LOCAL_MACHINE
для сертификатов, специфичных для машины, Но они будут нечитаемыми двоичными блоками. Лучше просто использоватьММКоснастку, которую я перечислил ранее.
решение3
Вот сводка местоположений (ключи реестра и файлы):
Уровень пользователя (реестр):
HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates
: Содержит сертификаты настроек для текущего пользователя.
HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates
: Как и предыдущее расположение, но это соответствует сертификатам пользователей, развернутым в GPO (групповой политике).
HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates
: Соответствует конфигурации определенных сертификатов пользователя. Каждый пользователь имеет свою ветвь в реестре с SID (Security Identifier).
Уровень компьютера (реестр):
HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates
: Содержит сертификаты настроек для всех пользователей компьютера.
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates
: Как и предыдущее расположение, но это соответствует сертификатам компьютеров, развернутым в объекте групповой политики.
Уровень обслуживания (реестр):
HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\ServiceName\SystemCertificates
: Содержит сертификаты настроек для всех служб на компьютере.
Уровень Active Directory (реестр):
HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates
: Сертификаты, выпущенные на уровне Active Directory.
И есть несколько папок и файлов, соответствующих хранилищу сертификатов Windows.
Папки скрыты, а открытые и закрытые ключи находятся в разных папках.
Пользовательские сертификаты (файлы):
%APPDATA%\Microsoft\SystemCertificates\My\Certificates
%USERPROFILE%\AppData\Roaming\Microsoft\Crypto\RSA\SID
%USERPROFILE%\AppData\Roaming\Microsoft\Credentials
%USERPROFILE%\AppData\Roaming\Microsoft\Protect\SID
Компьютерные сертификаты (файлы):
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
Извлечен из: http://www.sysadmit.com/2017/10/windows-donde-se-guardan-certificados.html
решение4
Дайте шанс PowerShell:
Get-Childitem Cert:\currentUser -Recurse | Format-Table -AutoSize PSPath, FriendlyName, DnsNamelist