You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI应用中Semantic Kernel调用OpenAI时Android端SSL连接失败

MAUI Android平台Semantic Kernel对接OpenAI SSL连接失败解决方案

针对Windows平台正常、Android模拟器/真机出现SSL connection could not be established异常的问题,可通过以下步骤解决:

1. 配置Android网络安全策略

Android默认的证书信任机制可能无法验证OpenAI的SSL证书,需添加网络安全配置:

  • 在项目的Platforms/Android/Resources/xml目录下创建network_security_config.xml(若xml目录不存在则新建),内容如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="false">
        <trust-anchors>
            <certificates src="system" />
            <certificates src="user" />
        </trust-anchors>
    </base-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">api.openai.com</domain>
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </domain-config>
</network-security-config>
  • 打开Platforms/Android/AndroidManifest.xml,在<application>标签中添加配置引用:
<application ... android:networkSecurityConfig="@xml/network_security_config">

2. 强制启用TLS 1.2+协议

OpenAI服务要求使用TLS 1.2及以上版本,若项目目标SDK低于Android 8.0(API 26),需手动启用:
在Platforms/Android/MainActivity.cs的OnCreate方法中添加代码:

protected override void OnCreate(Bundle savedInstanceState)
{
    base.OnCreate(savedInstanceState);
    // 启用TLS 1.2和1.3
    System.Net.ServicePointManager.SecurityProtocol = 
        System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls13;
}

3. 自定义HttpClient处理SSL验证(测试用)

若上述步骤无效,可临时通过自定义HttpClient跳过证书验证(仅用于测试,生产环境禁止):
修改Kernel构建代码:

var httpClientHandler = new HttpClientHandler
{
    ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) =>
    {
        // 测试环境直接信任所有证书,生产环境需替换为证书逻辑验证
        return true;
    }
};
var customHttpClient = new HttpClient(httpClientHandler);

public static Kernel kernel = builder
    .AddOpenAIChatCompletion("gpt-4o-mini", OpenAI_Key)
    .ConfigureHttpClient(client => client = customHttpClient)
    .Build();

4. 排查设备网络环境

  • 确认Android设备/模拟器能正常访问https://api.openai.com,可通过浏览器打开测试
  • 模拟器需检查代理设置,避免代理工具拦截SSL连接导致验证失败

内容的提问来源于stack exchange,提问作者Glenn Taylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 05:44:53