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

React Native WebView部分设备无法运行 旧设备报SSL证书不受信任错误码3如何解决

问题原因

这个错误是WebView加载目标地址时SSL证书校验失败导致的,仅出现在旧设备上通常有几个核心诱因:

  • 目标站点使用的根CA证书未被旧设备的系统根证书库收录,比如2021年后DST Root CA X3过期后,安卓7.0以下系统默认不信任Let's Encrypt颁发的证书
  • 目标站点的证书链配置不全,缺失中间证书,旧版WebView无法自动补全证书链完成校验
  • 故障设备的系统时间异常,超出了SSL证书的有效期限范围
  • 旧版WebView不支持站点使用的新加密套件或SNI扩展,导致握手失败
解决方案

分不同场景选择适配方案:

通用排查步骤

  • 先确认目标站点的SSL证书配置完整,包含全量中间证书,使用的根证书为公开授信的CA颁发
  • 确认故障设备的系统时间设置正确,与标准时间偏差不超过1小时

快速适配(仅适用于测试环境,生产环境不推荐)

在WebView组件中新增onReceivedSslError回调,对可信域名的SSL校验错误做放行:

import {WebView} from 'react-native-webview';

<WebView
  ref={webViewRef}
  source={{uri:uri}}
  originWhitelist={['*']}
  // 新增SSL错误处理逻辑
  onReceivedSslError={(event) => {
    const { nativeEvent: { url } } = event;
    // 仅放行自身可控的可信域名,避免产生安全风险
    if (url.startsWith('https://你的可信域名')) {
      event.preventDefault();
      return true;
    }
  }}
  onNavigationStateChange={
    (state)=>{
      const back = state.canGoBack
      const forward = state.canGoForward
      setCanGoBack(back)
      setCanGoForward(forward)
    } 
  }
/>

生产环境安全适配方案

安卓端

针对安卓7.0以下系统不识别新根证书的问题,通过网络安全配置预埋可信根证书:

  1. 将目标站点的根证书PEM格式文件存放到安卓项目app/src/main/res/raw目录,命名为custom_root_ca.pem
  2. 在app/src/main/res/xml目录下新建network_security_config.xml文件,写入以下内容:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">你的站点域名</domain>
        <trust-anchors>
            <certificates src="@raw/custom_root_ca"/>
            <certificates src="system"/>
        </trust-anchors>
    </domain-config>
</network-security-config>
  1. 在AndroidManifest.xml的<application>标签中新增属性:
android:networkSecurityConfig="@xml/network_security_config"

iOS端

针对旧版iOS系统不识别新根证书的问题,可通过预埋证书做本地校验:

  1. 将根证书文件添加到iOS项目的主Bundle中
  2. 在WebView的onShouldStartLoadWithRequest回调中对请求的证书做本地校验,校验通过则放行请求

服务端优化

优先选择兼容性更高的公信任CA颁发的证书,配置完整证书链,同时保留对旧设备兼容的TLS1.2协议和加密套件,不要仅启用TLS1.3等新协议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:15:03