24

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

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

5 ответов5

20

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

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

15

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


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

\SOFTWARE\Microsoft\SystemCertificates\

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

7

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

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

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 является хорошим способом сделать это.

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .