我正在尝试获取服务器的SSL证书并手动对其进行验证。我似乎无法使用任何一个NativeMessageHandler(ModernHttpClient)来工作。
这是请求代码:
var handler = (HttpClientHandler)Locator.CurrentMutable.GetService(typeof(HttpClientHandler));
var discoveryClient = new DiscoveryClient(Config.ApiBaseUrl.ToString(), handler);
disco = await discoveryClient.GetAsync();
如果我尝试使用ModernHttpClient / NativeMessageHandler
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;
};
,但是在发送请求时,证书为null。为什么证书为空?
答案 0 :(得分:0)
我在这里猜测,但是以我的经验Xamarin.Android无法处理异步调用:
disco =等待DiscoveryClient.GetAsync();