У меня есть проект Xamarin Forms , и внутри файла MainPage.xaml.cs я хочу выполнить запрос к своему серверу.Сервер написан на ASP.NET Core 2 и работает с самозаверяющим сертификатом.
Купить сертификат - это не решение моей проблемы, потому что клиенты этого не делаютхотите, чтобы приложение работало только в локальной сети.
В моем файле MainPage.xaml.cs Http-запрос выглядит так:
HttpClient m_Client = new HttpClient();
var uri = new Uri(myURL);
var response = await m_Client.GetAsync(uri);
if (response.IsSuccessStatusCode)
{
...
}
Пока все хорошо.Если я запускаю приложение на Android и пытаюсь выполнить запрос, Android выдает исключение SSL для того, чтобы не найти CA для моего сертификата.
Как я могу общаться с моим сервером, используя самозаверяющий сертификат?
Я посмотрел на проблему и нашел много решений, таких как:
ServicePointManager
.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
Если выдобавьте этот код в файл MainActivity.cs в вашем проекте Android, он должен принять все сертификаты.Но это не работает для меня.Кажется, этот метод никогда не вызывается.
Есть какие-нибудь предложения, как сделать так, чтобы общение происходило?
С уважением