ошибка доверия при попытке доступа к моему REST-серверу на основе Kestrel - PullRequest
0 голосов
/ 17 февраля 2020

Я экспериментирую с приложением Xamarin, которое должно получить доступ к. NET Core REST серверу.

Я столкнулся с этой проблемой при переходе на https; Я могу получить доступ к API из Chrome без проблем, но если я попытаюсь сделать это из своего приложения, я получу System.Net.WebException сообщение

'Ошибка: TrustFailure (Ошибка вызова SSPI, см. внутреннее исключение.) '.

Я настраиваю свой сервер так:

public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
    var host = WebHost.CreateDefaultBuilder(args)
        .UseUrls("https://*:5000")
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseStartup<Startup>();

    return host as IWebHostBuilder;
}

и в своем приложении я делаю что-то вроде этого:

public bool addUser(User user)
{
    var request = WebRequest.Create("https://192.168.1.79:5000/api/users");
    request.ContentType = "application/json";
    request.Method = "POST";

    try
    {
        var json = JsonConvert.SerializeObject(user);
        var data = Encoding.UTF8.GetBytes(json);
        using (var stream = request.GetRequestStream())
        {
            stream.Write(data, 0, data.Length);
        }

        using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
        {
            return response.StatusCode == HttpStatusCode.Created;
        }
    }
    catch(Exception ecx)
    {
        var what = ecx.Message;
        return false;
    }
}

Большое спасибо за любую помощь!

...