3

私はRESTサービス呼び出しを行うWindowsPhone7アプリケーションに取り組んでいます。Webサービスをホストするサードパーティは、現在の環境で無効な証明書を持っています。FirefoxでURLにアクセスすると、証明書に関する警告が表示され、続行するかどうかを尋ねられます。また、PosterFF拡張機能を使用して通話をテストしています。Firefoxで無効な証明書を最初に受け入れると、Posterで動作します。そうしないと、POSTERはリクエストを行いません。

私のWP7エミュレーターでは、要求をまったく行うことができません。EndGetResponseメソッドで404を取得します。ポスターと同じリクエストをしているので、何も問題はないと思います。同じコード(証明書は含まれていません)を使用して別のWebサービスにアクセスできたので、それはコードではないと思います。私が考えることができる唯一のことは、WP7が無効な証明書への要求を許可しないということです。誰かがこの状況を経験したことがありますか?それを回避する方法はありますか?

無効な証明書がある場合でも、すべての通信を受け入れるようにアプリに指示する方法はありますか?

4

3 に答える 3

1

悲しいことに、電話でこれを行う方法はありません。通常、つまりデスクトップでは、この単純なコード行で証明書のチェックが無効になります。

System.Net.ServicePointManager.ServerCertificateValidationCallback = (se, cert, chain, sslError) => { return true; };

電話でServicePointManagerを見ると、フックするコールバックはありません。それはarrrrseの大きな痛みです。

あなたはサービスの所有者に手紙を書いて、なぜ彼らが悪いインターネット市民であるのか尋ねることを考えましたか?(基本的に、ここで表示されているのは、良くも悪くも、実際のWebセキュリティです)

Mattが言うように、Webサーバー上で単純なリレーをコーディングできるかもしれません。特別なサービスである必要はありませんが、おそらくあなたを呼び出してRAWテキストまたはXMLを吐き出すWebページにすぎません。電話クライアントはこのページを取得し、手動で応答を選択します。

意志があるところには道があります。

ルーク

于 2010-12-09T22:20:54.420 に答える
1

電話機に発行者のルートCA証明書をインストールする必要があります。

これを行うには、RootCAを電話のユーザーに電子メールで送信します。添付ファイルをクリックすると、電話に証明書をインストールするかどうかを尋ねられます。

あなたがそれをしたら、あなたの要求は通過するはずです。

ただし、アプリでこれをプログラムで行う方法があるとは思いません。

于 2010-12-10T06:28:42.217 に答える
0

電話に追加の証明書をインストールする方法を知りません。

この状況では、アプリとサードパーティのサイトの間にプロキシサービスを作成し、アプリにそれを呼び出させます。必要に応じて、有効な証明書の背後にプロキシを配置できます。

于 2010-12-09T19:19:33.713 に答える