gpt4 book ai didi

ssl - Xamarin - Android - 手动验证服务器的 SSL 证书 ModernHttpClient

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:09 25 4
gpt4 key购买 nike

我正在尝试获取服务器的 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;
};

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

最佳答案

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

disco = await discoveryClient.GetAsync();

关于ssl - Xamarin - Android - 手动验证服务器的 SSL 证书 ModernHttpClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51771079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com