だから、ここでいくつかの考え:
1.
「エリクソン」に同意します。現在の設計では、アプリのみがアプリと通信できることを検証することはほとんど不可能です。誰かがあなたのアプリをリバース エンジニアリングし、ゲーム オーバーになるのは時間の問題です (それが唯一のセキュリティ手段である場合)。あなたのアプリと有効なユーザーであることを検証したい場合は、ユーザーを認証するだけでなく、問題のアプリの署名をチェックする何らかのメカニズムが必要です (クライアントサーバーモデルでは可能ではないと思います. ..結局のところ、私の「hackyou」アプリは「realapp」と同じ署名を持っており、サーバー側からはそれを確認できないといつでも嘘をつくことができます)
2.
WebBrowser コントロールは本質的に IE のラッパーであることを思い出してください。そのため、いくつかのトリック (すぐに説明します) がなければ、証明書をユーザー ストアに追加する必要があります。
3.
あなたが求めていることを達成するためのハッキーな方法は次のとおりです(それは悪い考えですが):
- まず、WebRequest.Createを使用して HttpWebRequest オブジェクトを作成します。
- ファイルまたはプログラムでエンコードされたバイナリ ストリームから X509Certificate2 オブジェクトを手動で読み込みます。
- HttpWebRequest.ClientCertificates を使用して証明書をwebrequestに追加します
- リクエストを送信し、レスポンスを取得する
- HttpWebResponse の ResponseStream を WebBrowser の DocumentStream にプッシュすることにより、WebBrowser に応答を送信します。
これは基本的に、サーバーとの間の要求と応答を処理するためにいくつかのラッパー クラスを作成する必要があり、WebBrowser を使用して HTML の表示を処理するだけであることを意味します。
実際には、対処しようとしている脅威を再設計して確認する必要があります。