Нам необходимо выполнить 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 препятствий, с которыми мы столкнулись.