Итак, несколько мыслей здесь:
1
Я согласен с «erickson», что с вашим текущим дизайном почти невозможно проверить, что ТОЛЬКО ваше приложение может взаимодействовать с приложением. Это всего лишь вопрос времени, когда кто-то обратит внимание на ваше приложение, а затем на его игру (если это только ваша форма безопасности). Если вы хотите подтвердить, что это ваше приложение и действительный пользователь, то вам нужно аутентифицировать пользователя, а также какой-то механизм проверки подписи рассматриваемого приложения (что, я не думаю, возможно в модели клиент-сервер). ... в конце концов, я всегда могу лгать и говорить, что мое приложение "hackyou" имеет ту же подпись, что и ваше "realapp", и вы не можете проверить это со стороны сервера)
2
Помните, что элемент управления WebBrowser, по сути, является оболочкой для IE, поэтому без некоторых уловок (о которых я расскажу через секунду) вам придется добавить сертификат в хранилище пользователя.
3.
Вот хакерский способ выполнить то, что вы просите (даже если это плохая идея):
- Сначала используйте WebRequest.Create для создания объекта HttpWebRequest
- Загрузка объекта X509Certificate2 вручную из файла или двоичного потока, закодированного в программе
- используйте HttpWebRequest.ClientCertificates , чтобы добавить свой сертификат в веб-запрос
- Отправьте запрос, получите ответ
- Отправьте ответ в веб-браузер, отправив ResponseStream HttpWebResponse в DocumentStream веб-браузера
Это, по сути, означает, что вам придется написать несколько классов-оболочек для обработки запросов и ответов на сервер и с сервера и просто использовать веб-браузер для обработки просмотра HTML-кода.
На самом деле вам нужно изменить дизайн и посмотреть на угрозы, с которыми вы пытаетесь справиться!