Как сделать привилегированную транзакцию с повышенными привилегиями в приложении UWP - PullRequest
0 голосов
/ 24 апреля 2020

Нам необходимо выполнить sh следующее

  • Хранить сертификаты в хранилище локального компьютера, для которого требуются права администратора. (. NET API, X509Certificate2 )
  • Добавление маршрутов с Metri c в интерфейс туннеля VPN (C ++ API, вызывает dll Iphlpapi.dll с использованием System.Runtime.InteropServices, CreateIpForwardEntry ) Наша текущая среда

Приложение UWP, которым управляет реагировать-native- windows (https://github.com/microsoft/react-native-windows). Он вызывает собственные модули, используя Windows Runtime Component.

Обнаруженные проблемы

  • Мы видим исключение «Отказано в доступе» при попытке добавить сертификаты в TrustStore, поскольку добавление UWP не имеет повышенных привилегий.
  • Некоторым API-интерфейсам VPN требуются права администратора для выполнения необходимой операции. Мы также видим ошибку «Доступ запрещен» для этих API. (Например, CreateIPForwardEntry)

Рекомендуемый подход

  • Запуск приложения UWP с повышенными привилегиями .
  • Запустите приложение WPF в качестве основного контейнера и вставьте приложение UWP в контейнер для использования реагирующих * компонентов и API-интерфейсов UWP и запустите приложение
  • WPF в качестве Основное приложение, которое автоматически получит доступ к запрещенным ресурсам. Запустите службу WCF (Windows Communication Foundation) в качестве привилегированного пользователя и разместите сервер на компьютере, который будет выполнять административные процедуры для преодоления sh препятствий, с которыми мы столкнулись.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...