HarmonyOS鸿蒙Next中SSL认证如何跳过,纯新手,能给现成通用的代码吗

HarmonyOS鸿蒙Next中SSL认证如何跳过,纯新手,能给现成通用的代码吗 DevEco Studio  API版本5.1.0.125版本

4 回复

楼主具体是什么场景呢?

更多关于HarmonyOS鸿蒙Next中SSL认证如何跳过,纯新手,能给现成通用的代码吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在DevEco Studio 调用华为云的agent,怎么跳过SSL证书认证

在HarmonyOS Next中,可通过配置NetworkSecurityConfig实现SSL认证跳过。在resources/rawfile目录下创建network_security_config.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system"/>
            <certificates src="user" overridePins="true"/>
        </trust-anchors>
    </base-config>
</network-security-config>

module.json5中配置:

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      }
    ],
    "networkSecurityConfig": "$profile:network_security_config"
  }
}

使用@ohos.net.http发起HTTPS请求时将跳过SSL证书验证。注意仅限开发测试环境使用。

在HarmonyOS Next中,强烈不建议跳过SSL证书验证,这会严重降低应用安全性,导致中间人攻击风险。若仅用于开发测试环境,可通过以下方式配置:

import http from '@ohos.net.http';
import { BusinessError } from '@ohos.base';

// 创建HTTP请求
let httpRequest = http.createHttp();

// 配置SSL选项(仅测试环境使用)
let sslOptions: http.HttpSSLOptions = {
  // 禁用证书验证(危险操作!)
  disableVerify: true
};

let options: http.HttpRequestOptions = {
  method: http.RequestMethod.GET,
  url: 'https://your-api-endpoint.com',
  sslOptions: sslOptions
};

// 发送请求
httpRequest.request(options)
  .then((data) => {
    console.info('Response:' + JSON.stringify(data));
  })
  .catch((err: BusinessError) => {
    console.error('Error:' + JSON.stringify(err));
  });

关键配置说明:

  • sslOptions.disableVerify: true 会跳过证书链验证
  • 仅适用于开发测试阶段
  • 生产环境必须使用有效证书

注意:正式发布应用时务必移除该配置,否则审核可能不通过。建议尽快配置正规的SSL证书。

回到顶部