Установка сертификата для CurrenUser / LocalMachine без AdminRights? - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь установить приложение UWP на win10.Я хочу автоматизировать весь процесс установки (установить сертификат, зависимости и т. Д.)

Поэтому я рекомендую небольшой пакетный файл, который вызывает 2 сценария Powershell.Один устанавливает зависимости (проверяет, установлены ли они уже).Другой устанавливает сертификат и добавляет приложение в систему.

Я добавляю сертификат в:

certutil -Enterprise -addstore "TrustedPublisher" .\cert.crt
certutil -Enterprise -addstore "Root" .\cert.crt
Import-Certificate -CertStoreLocation Cert:\LocalMachine\TrustedPublisher -FilePath .\cert.crt
Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root -FilePath .\cert.crt
Add-AppxPackage -Path .\app.appxbundle

Теперь дело в том, что мой клиент хочет, чтобы я делал это безПрава администратора.

Поэтому я подумал, что вместо этого будет работать установка для CurrentUser, поскольку для установки там сертификата права администратора не нужны.

Поэтому я изменил свой сценарий следующим образом

certutil -addstore -user -f "TrustedPublisher" .\cert.crt
certutil -addstore -user -f "Root" .\cert.crt
Import-Certificate -CertStoreLocation Cert:\CurrentUser\TrustedPublisher -FilePath .\cert.crt
Import-Certificate -CertStoreLocation Cert:\CurrentUser\Root -FilePath .\cert.crt
Add-AppxPackage -Path .\app.appxbundle

Также пытались добавить в «TrustedPeople» и «Мои» местоположения.

Установка сертификата без прав администратора работала нормально.Но установка самого приложения завершилась ошибкой.

"Add-AppxPackage: Развертывание не удалось с HRESULT: 0x800B0109, Цепочка сертификатов обработана, но завершилась корневым сертификатом, который не является доверенным поставщиком доверия"

То есть сертификат был найден, но ему не доверяют.Поэтому у меня следующие вопросы:

  1. Почему система не «доверяет» сертификату, даже если он установлен в «CurrentUSer / TrutedPublisher» (отличие от LocalMachine / TrustedPublisher)?
  2. Есть лиспособ установить Cert на localMachine без прав администратора?
  3. Можно ли установить приложение, направив его на установленный сертификат в CurrentUser?

Я новичок во всем развертывании в Windows, поэтому я надеюсь, что эти вопросы имеют смысл:)

1 Ответ

1 голос
/ 26 апреля 2019
  1. Если приложение установлено в -system-, оно будет проверяться на соответствие LocalMachine / TrustedPublisher.Это основной механизм безопасности, позволяющий случайному пользователю обойти защиту, «доверяя» сертификату и устанавливая случайную вредоносную часть программного обеспечения без прав администратора;который затем может быть запущен другим пользователем.
  2. Правильный способ установки сертификата «без прав администратора» - использовать групповую политику для установки сертификата. См. Распространение сертификатов на клиентские компьютеры с использованием групповой политики.
  3. Нет.Не пытайтесь обойти безопасность.Основы таковы, что вам нужен администратор, чтобы установить сертификат в LocalMachine / TrustedPublisher или установить приложение.Проще всего сначала использовать объект групповой политики для установки сертификата.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...