Разрешить пользователю запускать программы только с указанным сертификатом (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 идентифицирует сертификаты как надежные.