相关疑难解决方法(0)

如何修复 xamarin android 中的“不允许到 x 的明文 HTTP 流量”

我的应用程序存在问题,不允许到 x 的明文 HTTP 流量。

我已经尝试将 android:usesCleartextTraffic="true" 放入我的清单中。但我想将“android:usesCleartextTraffic”标志更改为“false”以防止发送未加密的流量。

怎么解决这个问题呢?

https http xamarin.android xamarin.forms cleartext

13
推荐指数
4
解决办法
2万
查看次数

Xamarin Android 问题通过 HTTPS 连接到使用自签名证书的站点:“未找到证书路径的信任锚。”

我正在尝试对具有 2 个 SSL 证书的站点进行 HTTPS 调用:一个自签名证书和一个由第一个证书签名的证书。当我使用 HttpClient 向站点发送请求时,控制台会记录一个不受信任的链,显示两个证书,然后打印由java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

我已经在我的手机上安装了这两个证书,并且将 Chrome 导航到该站点显示一个受信任的连接(在我安装证书之前它有一个不受信任的连接警告)。我认为问题在于该应用程序拒绝信任自签名证书。我无权访问服务器,因此对其证书没有影响,因此安装由受信任的 CA 签名的证书是不可行的。


我尝试过但没有奏效的解决方案。

ServicePointManager.ServerCertificateValidationCallback 似乎没有运行。

我曾尝试将自己的函数用于ServicePointManager.ServerCertificateValidationCallback,但我给它的委托似乎从未运行过。我的 MainActivity.OnCreate 方法中有以下代码,但控制台从不记录消息:

System.Net.ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) =>
{
  Console.WriteLine($"****************************************************************************************************");

  return true;
};
Run Code Online (Sandbox Code Playgroud)

HttpClientHandler.ServerCertificateCustomValidationCallback 引发异常。

我曾尝试使用 anHttpClientHandler并设置 its ServerCertificateCustomValidationCallback,但我只收到消息:

System.NotImplementedException: The method or operation is not implemented. at System.Net.Http.HttpClientHandler.set_ServerCertificateCustomValidationCallback (System.Func`5[T1,T2,T3,T4,TResult] value).

设置代码:

HttpClientHandler handler = new HttpClientHandler();
handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true;
HttpClient …
Run Code Online (Sandbox Code Playgroud)

ssl android httpclient xamarin

10
推荐指数
1
解决办法
7381
查看次数