如何为“Visual Studio emulator for android”的模拟器安装证书?

Posted

技术标签:

【中文标题】如何为“Visual Studio emulator for android”的模拟器安装证书?【英文标题】:How can I install certificate for "Visual studio emulator for android"'s emulator? 【发布时间】:2019-10-29 01:05:53 【问题描述】:

我正在处理需要调用 httpclient 以使用公司内部 https REST api 的 Xamarin 表单

不幸的是,它返回此错误

Javax.Net.Ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

要绕过认证验证,您可以:

android 构建选项中选择

HttpClient Implementation: AndroidClientHandler
SSL/TLS implementation: Default (Native TLS 1.2+)

在 MainActivity.cs 添加这个

ServicePointManager.ServerCertificateValidationCallback += (o, cert, chain, errors) => true;

在 Httpclient init 中改变这个

var httpClient = new HttpClient();

var httpClient = new HttpClient(new System.Net.Http.HttpClientHandler());

【讨论】:

您好 Bruno,我找不到 Android 构建选项。这是否以 xamarin 形式提供,Visual Studio 2017? 是的。右键单击android解决方案和选项 感谢 bruno,我能够通过“右键单击 android 解决方案 >> 属性 >> Android 选项 >> 高级”找到它通过实施您的建议可以正常工作。再次感谢! 嗨,DEN,很高兴我能帮上忙! 不要把它留在生产代码中!它禁用证书链验证并启用中间人攻击。对于可以方便的开发(使用 Fiddler 来查看发生了什么),但在生产中,您不希望第三方嗅探您的流量。

以上是关于如何为“Visual Studio emulator for android”的模拟器安装证书?的主要内容,如果未能解决你的问题,请参考以下文章

如何为下拉菜单制作 CSS 边框?

如何为 CAShapeLayer 路径和填充颜色设置动画

iPhone - 如何为图像着色?

如何为 RecyclerView 设置 onItemClickListener? [复制]

WCF - 如何为 NTLM 身份验证配置 netTcpBinding?

如何为 UIToolbar 上的按钮添加滚动?