11

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

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

1 ответ1

11

Ключи хранятся с помощью 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.

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