.NET MAUI安卓模拟器请求本地WebAPI遇证书信任锚错误求助
修复安卓模拟器上.NET MAUI访问本地WebAPI的证书信任问题
确认本地开发证书已正确导入模拟器
打开certmgr.msc,找到「个人」→「证书」中的localhost开发证书,右键导出为Base64编码的X.509(.CER)格式文件。将该文件拖入安卓模拟器,打开后按提示完成安装,选择「VPN和应用」作为证书用途。配置安卓应用网络安全策略
在MAUI项目的Platforms/Android/Resources/xml目录下创建network_security_config.xml,写入以下内容:<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="false"> <domain includeSubdomains="true">localhost</domain> <trust-anchors> <certificates src="system" /> <certificates src="user" /> </trust-anchors> </domain-config> </network-security-config>接着在
Platforms/Android/AndroidManifest.xml的<application>标签中添加属性:android:networkSecurityConfig="@xml/network_security_config"替换localhost为模拟器可识别的IP
安卓模拟器无法直接解析localhost,将请求地址改为10.0.2.2(对应Windows主机的本地回环地址),或者主机的局域网IP,避免证书域名不匹配引发的信任问题。开发环境临时跳过证书验证(仅限调试)
如果以上方法仍无效,可在HTTP客户端配置中临时禁用证书校验,代码示例:var handler = new HttpClientHandler(); handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => true; var client = new HttpClient(handler);注意:上线前必须删除这段代码,否则会带来严重安全隐患。
内容的提问来源于stack exchange,提问作者Davy88MM
相关产品推荐
相关产品推荐

