Где хранятся закрытые ключи сертификатов в Windows 7?


12

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

Например, для данного сертификата Windows сообщает, что с этим сертификатом связан закрытый ключ. Но где я могу физически его найти?

Ответы:


14

Ключи хранятся с помощью API-интерфейса шифрования Microsoft : Next Generation (CNG).

Места хранения:

  • Личное пользователя:
    %APPDATA%\Microsoft\Crypto\Keys
  • Локальная система приватная:
    %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\SystemKeys
  • Местное обслуживание частных:
    %WINDIR%\ServiceProfiles\LocalService
  • Сетевой сервис частный:
    %WINDIR%\ServiceProfiles\NetworkService
  • Общий приват:
    %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\Keys

Описание:

CNG предоставляет модель для хранения закрытого ключа, которая позволяет адаптироваться к текущим и будущим требованиям создания приложений, использующих функции криптографии, такие как шифрование с открытым или закрытым ключом, а также к требованиям хранения материала ключа. Маршрутизатор хранения ключей является центральной процедурой в этой модели и реализован в Ncrypt.dll. Приложение получает доступ к поставщикам хранилища ключей (KSP) в системе через маршрутизатор хранилища ключей, который скрывает такие детали, как изоляция ключа, как от приложения, так и от самого поставщика хранилища. На следующем рисунке показана структура и функции архитектуры изоляции ключей КПГ. Источник
Архитектура хранилища ключей

Примечание :

Как отметил Тим Дж, ключи не читаются на уровне файлов, потому что они зашифрованы в процессе их хранения через API CNG.


4
Расположение этих ключей правильное, но у меня есть одно замечание: службы изоляции ключей Windows скрывают ключи, поэтому они не читаются на уровне пользователя или администратора из операционной системы как есть. (Они видны как файлы в Проводнике, но вы не можете сбросить их истинное содержимое в программе просмотра в шестнадцатеричном формате или в виде некрасивого ASCII в блокноте - все равно это будет некрасивый ASCII, просто не истинное представление, как в системах Unixoid.)
Тим G

@TimG Можете ли вы указать мне какую-либо документацию, которая описывает это затемнение? (Я понимаю, что уже немного поздно, но я могу надеяться ...)
Мартин Боннер поддерживает Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.