2016-08-15 17 views
6

コンソールアプリケーションからuwpにコードを転送しようとしていますが、このコンソールアプリケーションではuwpアプリですべての証明書を使用するServicePointManagerを使用しています。サーバーを確立できませんでした "。サーバー接続用の証明書を使用しています

私はServicePointManagerをどのように置き換えてuwpのすべての証明書を適用できますか(なぜなら、このサーバーに使用されている証明書の種類はわからないからです)。

ServicePointManagerのコードを以下にリストされている:返信用

ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback 
(bypassAllCertificateStuff); 

private static bool bypassAllCertificateStuff(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error) 
{ 
    return true; 
} 

感謝を!

+0

以前に使用したコンソールアプリケーションから投稿したServicePointManagerコードはありますか? – oldbam

答えて

1

HttpClientを使用しようとしていると思いますが、これがWindows.Web.Http名前空間の場合は、フィルタを追加して、何らかの種類の証明書エラーをバイパスできます。 例:。:

using Windows.Web.Http; 
using Windows.Web.Http.Filters; 

var filter = new HttpBaseProtocolFilter(); 
filter.IgnorableServerCertificateErrors.Add(ChainValidationResult.Untrusted); 
var httpClient = new HttpClient(filter); 
0

ServicePointManagerは、サーバ証明書の検証エラーを無視するようにクライアントを指示するためにあなたが投稿したコード。したがって、サーバー証明書が期限切れになるか、別のホストに発行された場合、またはクライアントマシンには知られていない証明機関によって署名されている場合、呼び出しコードは気にせずにそのサーバーとの通信を継続します。要件に応じて、その検証を無効にすることは賢明な決定である場合とそうでない場合があります。ただし、検証を無効にしたい場合は、System.Net.Http.HttpClientを使用すると、StackOverflowのcheck this answerにアクセスできます。

また、UWPアプリケーションで2つのHTTPクライアントを使用できます。両者の比較については、this linkを参照してください。

関連する問題