uni-app uni.request在鸿蒙上当网站证书更新后会遇到SSL peer certificate or SSH remote key was not OK

uni-app uni.request在鸿蒙上当网站证书更新后会遇到SSL peer certificate or SSH remote key was not OK

示例代码:

uni.request({  
  url: "https://svc.wlsp.org.cn/Service_OneMap/WebService.asmx/MobileGetUserPassByUID",  
  data: {  
    key: aesEncrypt("uiduser"),  
    fun: fun,  
    uid: systemInfo.value.deviceId + "|" + systemInfo.value.appVersion,  
  },  
  success: (res) => {  
  },  
  fail: (e) => {  
    console.log("失败:", e);  
  },  
});

操作步骤:

  • 网站更新证书,重新请求接口

预期结果:

  • 证书OK的情况下应该请求成功

实际结果:

  • 报错"request:fail SSL peer certificate or SSH remote key was not OK"

bug描述:

使用uni.request进行网络请求,证书商是DigiCert,在鸿蒙系统内置的根证书库中。 一个月之前是访问是没有问题的,前段时间证书过期,更新了一个,使用鸿蒙的浏览器打开网址证书是没有问题的,但是用uni.request请求的时候就会报错"request:fail SSL peer certificate or SSH remote key was not OK"


### 表格
| 信息类别       | 详细信息           |
|----------------|--------------------|
| 产品分类       | uniapp/App         |
| PC开发环境     | Windows            |
| PC操作系统版本 | Windows 11         |
| HBuilderX类型  | 正式               |
| HBuilderX版本  | 4.66               |
| 手机系统       | HarmonyOS NEXT     |
| 手机系统版本   | HarmonyOS 5.0.1    |
| 手机厂商       | 华为               |
| 手机机型       | Nova13             |
| 页面类型       | vue                |
| vue版本        | vue3               |
| 打包方式       | 离线               |
| 项目创建方式   | HBuilderX          |

更多关于uni-app uni.request在鸿蒙上当网站证书更新后会遇到SSL peer certificate or SSH remote key was not OK的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

我看是普通的 post + data 的网络请求并没有特殊的,这个报错也是鸿蒙 http 错误提示,并不是本地的错误代码。
你调的 request 提示证书报错,是始终错误,还是第二次请求正常或者重启后正常?同一时间安卓表现是否正常?如果我要复现你的问题,有什么方案吗

更多关于uni-app uni.request在鸿蒙上当网站证书更新后会遇到SSL peer certificate or SSH remote key was not OK的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题问了一下 ai,说是你运维证书里少东西。 点击链接查看和 Kimi 的对话 https://www.kimi.com/share/d1qea8b1huilke1kbagg

这是一个典型的SSL证书验证问题,主要发生在鸿蒙系统上。当网站更新SSL证书后,虽然新证书在系统根证书库中,但uni-app的请求层可能由于证书链缓存或验证机制导致验证失败。

解决方案:

  1. 检查证书链完整性 确保服务器配置了完整的证书链(包括中间证书)。可以使用在线SSL检测工具验证证书链是否正确部署。

  2. 清除SSL状态缓存 在鸿蒙系统中,尝试清除应用缓存和数据:

    • 进入设置 > 应用管理 > 找到您的应用
    • 选择"清除缓存"和"清除数据"
  3. 调整uni.request配置

    uni.request({
      url: "https://your-url",
      sslVerify: false, // 临时关闭SSL验证(仅用于测试)
      // 其他参数...
    })
回到顶部