Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin-Android-Verify服务器';s SSL证书手动更新HttpClient_Ssl_Xamarin_Xamarin.forms_Xamarin.android - Fatal编程技术网

Xamarin-Android-Verify服务器';s SSL证书手动更新HttpClient

Xamarin-Android-Verify服务器';s SSL证书手动更新HttpClient,ssl,xamarin,xamarin.forms,xamarin.android,Ssl,Xamarin,Xamarin.forms,Xamarin.android,我正在尝试获取服务器的SSL证书并手动验证它。我似乎无法使用NativeMessageHandler(ModernHttpClient)使其工作 以下是请求代码: var handler = (HttpClientHandler)Locator.CurrentMutable.GetService(typeof(HttpClientHandler)); var discoveryClient = new DiscoveryClient(Config.ApiBaseUrl.ToString(), h

我正在尝试获取服务器的SSL证书并手动验证它。我似乎无法使用NativeMessageHandler(ModernHttpClient)使其工作

以下是请求代码:

var handler = (HttpClientHandler)Locator.CurrentMutable.GetService(typeof(HttpClientHandler));
var discoveryClient = new DiscoveryClient(Config.ApiBaseUrl.ToString(), handler);
disco = await discoveryClient.GetAsync();
如果我尝试使用

        ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) =>
        {
            var certAvailable = certificate != null;
            System.Diagnostics.Debug.WriteLine($"cert exists: {certAvailable}");
            if (certAvailable)
            {
                System.Diagnostics.Debug.WriteLine($"Issuer: {certificate.Issuer}");
            }

            return true;
        };

但在发送请求时,证书为空。为什么证书为空?

我在这里猜测一下,但根据我的经验,Xamarin.Android无法处理异步调用:

disco=await discoveryClient.GetAsync()