Где находится папка сертификата в Windows 7?

28

Можем ли мы узнать точное местоположение сертификата ( DigiCert , Verisign и т. Д.)?

Прямо сейчас единственный способ проверить сертификат - использовать приложение MMC в System32 или в нашем веб-браузере (Internet Explorer, Firefox и т. Д.) В настройках Интернета.

newbie.my
источник

Ответы:

20

Хранилище сертификатов Windows (в основном) хранится в реестре, как описано здесь . Однако, хотя IE, Chrome, Safari / iTunes, Outlook и т. Д. Используют хранилище сертификатов Windows, Firefox и Thunderbird используют кроссплатформенное хранилище сертификатов NSS. Opera также использует свое собственное отдельное хранилище сертификатов.

Если вы хотите получить доступ к хранилищу сертификатов Windows, вам следует использовать CryptoAPI от Microsoft. Если вы хотите получить доступ к хранилищу сертификатов NSS, вы можете использовать библиотеку NSS .

Lèse Majesté
источник
18

В Windows нет «папки» сертификатов; он хранится во внутренней базе данных ( реестр Windows ), с которой вы взаимодействуете способами, перечисленными в исходном вопросе. Самый простой способ получить доступ к этой базе данных - это просто положить ее certmgr.mscв окно запуска / запуска.


Если вам действительно любопытно, вы можете найти реальные записи реестра в:

\SOFTWARE\Microsoft\SystemCertificates\

Для HKEY_CURRENT_USERпользовательских сертификатов и HKEY_LOCAL_MACHINEдля машинных сертификатов, но они будут нечитаемыми двоичными объектами. Просто лучше использовать оснастку MMC, которую я перечислил ранее.

Скотт Чемберлен
источник
9

Вот краткое описание местоположения (ключи реестра и файлы):

Уровень пользователя (реестр):

HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates: Содержит сертификаты настроек для текущего пользователя.

HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates: Как и в предыдущем месте, но это соответствует сертификатам пользователей, в которых развернут объект групповой политики.

HKEY_USERS\SID-User\Software\Microsoft\SystemCertificates: Соответствует конфигурации определенных пользовательских сертификатов. У каждого пользователя есть своя ветка в реестре с SID (идентификатор безопасности).

Уровень компьютера (реестр):

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

Майкл Кэйд
источник
3

Сертификаты хранятся в реестре по адресу

HKLM/Software/Microsoft/SystemCertificates

Личные сертификаты или другие сертификаты, относящиеся к зарегистрированному пользователю, находятся по адресу

HKCU/Software/Microsoft/SystemCertificates

Они хранятся в виде двоичных двоичных объектов, поэтому их необходимо декодировать, и плагин MMC является хорошим способом сделать это.

Павел
источник
В моем компьютере с Windows 7 x64 путь следующий: HKLM/Software/Microsoft/SystemCertificatesи HKCU/Software/Microsoft/SystemCertificates. Обратите внимание на отсутствующую систему.
Багавадхар
1
@ashwin Привет, Эшвин - у меня правильный ответ. Обратите внимание, если вы видите, что необходимо внести исправления, добро пожаловать и рекомендуется редактировать сообщение самостоятельно.
Пол
Я не эксперт по этой теме. Я обнаружил, что мой компьютер отличается от упомянутого, и я не был уверен, был ли мой исключение или это обычный способ.
Багавадхар
@ashwin Аа, отлично, я вижу. Спасибо за сообщение об ошибке.
Пол
0

Я снова посмотрел на предпочтения групповой политики, которые я использовал. Я включил параметр «Запускать в контексте безопасности вошедшего в систему пользователя (параметр политики пользователя)», и теперь запись в реестре сохраняется.

Майкл
источник
0

Дайте шанс PowerShell:

Get-Childitem Cert:\currentUser -Recurse | Format-Table -AutoSize PSPath, FriendlyName, DnsNamelist
Франческо Мантовани
источник