2016-08-15 2 views
6

im пытается передать код из консольного приложения в uwp, в этом консольном приложении используется ServicePointManager, который использует все сертификаты, в приложении uwp я не использую их и не имею исключения с текстом - «Соединение с сервер не может быть установлен ».работает с сертификатами для подключения к серверу

Вопрос в том, как заменить 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, вы можете check this answer на StackOverflow.

Также имейте в виду, что вы можете использовать два клиента HTTP в приложении UWP. Для сравнения между ними см. this link.

Смежные вопросы