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

Android WebView加载HTTPS站点报CertificateExpiredException无法加载问题求助

Android WebView HTTPS证书过期问题解决方案

错误根因

日志明确提示服务端SSL证书已于2021年6月16日过期,你之前配置的TLS版本支持、Provider安装仅用于解决TLS协议兼容性问题,和证书有效性校验逻辑无关,因此无法修复该错误。
由于你没有服务端操作权限,只能从客户端侧适配,分两种场景处理:

测试/内部使用场景(禁止用于正式发布)

可以临时跳过SSL证书校验,操作如下:
自定义WebViewClient,重写onReceivedSslError方法,针对证书过期错误放行:

webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        // 仅放行证书过期错误,也可根据需求直接跳过所有证书错误,安全风险更高
        if (error.getPrimaryError() == SslError.SSL_EXPIRED) {
            handler.proceed();
            return;
        }
        // 其他错误走默认逻辑
        handler.cancel();
    }
});

如果APP内还有原生HTTPS请求也需要兼容,还需自定义X509TrustManager,信任所有证书后配置给对应的HTTP客户端使用。

正式发布场景

优先选择第一种方案,合规性和安全性最高:

  • 方案1:联系服务端所属的运营/运维人员,更新服务端过期的SSL证书,这是该问题的标准修复方案
  • 方案2:如果无法联系服务端维护方,可将该服务端的过期证书内置到APP assets目录,自定义TrustManager仅信任该内置证书,同时忽略证书有效期校验,该方案不会引入全局信任所有证书的安全风险,可用于正式环境

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 23:27:02