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

Android12下MSAL报instance discovery元数据加载失败错误怎么解决

问题触发原因
  • 核心系统策略变化:Android 12(API 31)将HTTPS证书的OCSP吊销校验策略从之前的软降级调整为硬拦截,此前版本校验OCSP失败仍可继续完成握手,Android 12下只要OCSP响应验证不通过就会直接终止SSL连接,抛出证书链验证失败异常,这也是该问题仅在Android 12复现的核心原因。
  • MSAL版本过旧:你使用的com.microsoft.identity.client:msal:0.2.+属于早期预发行版本,底层依赖的通用身份库未适配Android 12的网络安全策略,且未内置微软云实例元数据缓存,每次初始化都必须请求云端云发现接口,进一步放大了该问题。
  • OCSP响应校验失败:异常栈中的Response is unreliable: its validity interval is out-of-date错误明确指向微软Azure AD相关域名返回的OCSP响应不在系统校验的有效时间窗口内,最终导致证书链验证失败,云发现请求中断,抛出Unable to perform cloud discovery报错。
可行解决方案
  • 优先升级MSAL版本:将MSAL依赖升级到2.0.+及以上的正式稳定版,新版本已完成Android 12全量适配,内置微软官方云实例元数据,无需每次启动请求云发现接口,同时修复了Android 12下的证书校验兼容问题,是根治该问题的最优方案。
  • 临时适配方案(仅用于无法升级MSAL的过渡阶段):在项目中新增Android网络安全配置,针对微软身份服务相关域名关闭OCSP吊销校验,具体操作如下:
    1. 在res/xml目录下新建network_security_config.xml文件,内容如下:
microsoftonline.com microsoft.com ``` 2. 在`AndroidManifest.xml`的`application`标签中添加属性:`android:networkSecurityConfig="@xml/network_security_config"` 注意:该方案仅作为临时过渡使用,会降低对应域名的安全等级,完成MSAL升级后需要立即移除该配置。 - 校准设备时间:确认运行设备的系统时间、时区设置正确,与互联网标准时间的误差控制在10分钟以内,避免因时间偏移导致OCSP响应有效期校验失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:24:01