Xamarin Forms HttpClient SSL 证书验证错误

Xamarin Forms HttpClient SSL Certification validation error

我在 Xamarin.Forms 中遇到了一个问题(尽管是表单,但我只有一个 Android 项目,我只需要支持它)。 该应用程序必须 post 到后端,后端进行 SSL 证书验证。 我有一个测试设备,Android 11 Samsung。在设备上的用户证书中,有我需要的证书(设置 - 安全 - 用户证书)。 当我在 phone 上打开 Google Chrome 时,它会加载后端的 swagger UI,我认为它首先询问我是否要使用我的证书。 大摇大摆的作品,我能够在那里尝试端点。

问题是我无法从该应用程序进行后端调用,因为它会立即丢弃我的请求并显示 SSL 认证验证失败消息。 我用确切的命名空间写了一些快速测试代码来理解我在做什么:

// This returns the cert of the user's certificates:
Java.Security.Cert.X509Certificate myJavaCert = KeyChain.GetCertificateChain(this.ApplicationContext, "MyCertAlias").FirstOrDefault();

//Convert to X509Certificate2:
var myDotNetCert =  new System.Security.Cryptography.X509Certificates.X509Certificate2(myJavaCert.GetEncoded());

//I'm doing HttpClient manually, I don't want to use IHttpClientFactory yet:
var httpClientHandler = new HttpClientHandler();
httpClientHandler.ClientCertificates.Add(myDotNetCert);
var httpClient = new HttpClient(httpClientHandler);

// Finally I call the post that runs for the above mentioned error:
await httpClient.PostAsync(url, objectToPost);

我被这个任务困住了,我真的不知道去哪里尝试。 也感谢您的提前帮助!

经过一周的研究,我终于自己弄明白了。 这是我自己的问题的 full-detailed 答案: