Разрешить пользователю запускать программы только с указанным сертификатом (Windows)

Я хочу разрешить пользователю на ПК с Windows 7 запускать только программы, которые сертифицированы мной (я использовал openSSL для создания самодельного файла pem/cer или pfx). Я подписываю файлы с помощью Microsoft SignTool.exe. Это работает как шарм, все мои исполняемые файлы показывают, что они сертифицированы.

Я обнаружил, что есть способ использовать AppLocker, но каждый раз, когда я пытаюсь использовать AppLocker, он выдает следующую ошибку:

"Информация об издателе не может быть извлечена из указанного файла: [FILENAME] Причина: идентификатор объекта не представляет допустимый объект. (Исключение из HRESULT: 0x800710D8)"

Я создал сертификат с этим HowTo: https://www.howtoforge.de/anleitung/howto-selbstsigniertes-ssl-zertifikat-erstellen/ Я что-то пропустил?

Второй способ, о котором я читал, - это использование политик ограниченного использования программ (SRP). Когда я пытаюсь использовать подписанный exe-файл, он выдает мне ошибку:

Die Erweiterung für die Basiseinschränkung eines Zertifikates wurde nicht eingehalten (Расширение основных ограничений сертификата не соблюдается).

Когда я использую созданный файл.cer, он, кажется, работает, но я могу запустить все программы в любом случае.

В итоге мой вопрос таков: каков наилучший метод в Windows, позволяющий пользователю запускать только сертифицированные программы (сертифицированные мной)?

Большое спасибо, Паук

1 ответ

Решение

Хорошо, нашел решение. Когда вы устанавливаете сертификат в Windows, дважды щелкнув файл, вы устанавливаете сертификат как локальный пользователь. AppLocker работает с "учетной записью компьютера".

Пуск> Выполнить> MMC.msc > Файл> Добавить / удалить оснастку… > выберите "Сертификаты" > нажмите "Добавить" > выберите "Учетная запись компьютера" и вставьте ключи.

Таким образом, AppLocker идентифицирует сертификаты как надежные.

Другие вопросы по тегам