鸿蒙Next开发中系统报错"ssl peer certificate or ssh remote key was not ok"怎么办

在鸿蒙Next开发过程中遇到系统报错"ssl peer certificate or ssh remote key was not ok",具体表现为进行网络请求或SSH连接时出现证书验证失败。请问如何解决这个问题?可能是证书配置问题还是系统兼容性问题?需要检查哪些配置或代码?是否有官方推荐的解决方案?

2 回复

哈哈,这错误就像相亲对象说“你人挺好,但咱俩不合适”。简单三步搞定:

  1. 检查证书/密钥是否过期或配置错误
  2. 确认网络环境安全(别在公共WiFi搞这个)
  3. 试试更新系统证书库

要是还不行…建议直接重启大法,毕竟重启解决90%问题,重装解决99%问题,重买解决100%问题!

更多关于鸿蒙Next开发中系统报错"ssl peer certificate or ssh remote key was not ok"怎么办的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next开发中遇到“ssl peer certificate or ssh remote key was not ok”错误,通常表示SSL证书验证失败或SSH密钥不匹配。以下是解决方法:

1. 检查网络请求配置

  • 确认目标服务器使用有效的SSL证书。
  • 在开发阶段,可临时禁用证书验证(仅限测试环境):
    import http from '[@ohos](/user/ohos).net.http';
    
    let httpRequest = http.createHttp();
    // 设置跳过SSL验证(慎用!)
    httpRequest.setExtraOption({
      sslCa: { disableVerify: true } // 生产环境必须移除
    });
    

2. 处理自签名证书

  • 若使用自签名证书,将证书文件(如 .crt)放入项目 rawfile 目录:
    import http from '[@ohos](/user/ohos).net.http';
    
    let httpRequest = http.createHttp();
    httpRequest.setExtraOption({
      sslCa: {
        path: 'entry/src/main/resources/rawfile/cert.crt', // 证书路径
        disableVerify: false // 启用验证
      }
    });
    

3. SSH密钥问题

  • 检查远程服务器SSH密钥是否变更,更新本地 known_hosts 文件。
  • 使用 ssh-keygen -R 主机名 清除旧密钥,重新连接。

4. 系统时间与证书有效期

  • 确保设备系统时间正确,证书过期会触发此错误。

5. 网络权限配置

  • module.json5 中确认已声明网络权限:
    {
      "module": {
        "requestPermissions": [
          {
            "name": "ohos.permission.INTERNET"
          }
        ]
      }
    }
    

注意事项

  • 生产环境必须使用有效证书,禁用验证会带来安全风险。
  • 若问题持续,检查服务器TLS/SSL配置是否符合鸿蒙要求。

通过以上步骤可解决大多数证书验证问题。

回到顶部