HarmonyOS鸿蒙Next中有什么办法能网络请求跳过SSL认证

HarmonyOS鸿蒙Next中有什么办法能网络请求跳过SSL认证 这边由于上传图片的时候出现ssl验证问题,安卓ios 没问题,但是鸿蒙这边会验证

httpRequest.request请求https接口ssl证书验证失败

我想跳过ssl验证

3 回复

这边可以使用rcp 来进行请求,skip 跳过验证

cke_175.png

更多关于HarmonyOS鸿蒙Next中有什么办法能网络请求跳过SSL认证的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,可以通过配置网络安全策略跳过SSL认证。使用@ohos.net.securityPolicy模块,在config.json中声明网络权限,并设置securityPolicy"none"或自定义策略以禁用证书验证。具体需在代码中初始化策略管理器并应用配置。注意,此操作会降低安全性,仅建议在测试环境使用。

在HarmonyOS Next中,网络请求默认会进行SSL证书验证以确保通信安全,这是系统的安全策略。直接“跳过”SSL验证不符合安全规范,且系统未提供此类开关。

针对您遇到的特定服务器证书验证失败问题,建议的合规解决路径如下:

  1. 检查并修正服务器证书:这是根本解决方案。请确保服务器部署的是由受信任的CA签发的有效证书,且证书链完整、域名匹配、未过期。
  2. 在应用中集成自定义证书:如果使用的是企业或自签名证书,可以将该证书(PEM或DER格式)打包到应用的resources/rawfile目录下。在创建http.HttpRequest对象后,通过其setSSLSocketOptions方法,加载此证书来构建自定义的SSLSocketOptions,从而建立对该特定证书的信任。
    // 示例代码片段
    import http from '@ohos.net.http';
    import util from '@ohos.util';
    
    let sslOptions = http.createSSLSocketOptions();
    // 从rawfile读取自定义证书数据,并转换为Uint8Array
    let certData = ...; 
    sslOptions.setTrustedCertificate(certData);
    
    let request = http.createHttp();
    request.setSSLSocketOptions(sslOptions);
    // 然后使用request发起请求
    
  3. 精确配置域名验证:如果证书其他部分有效,仅域名不匹配(如测试环境使用IP),可以考虑在SSLSocketOptions中配置合适的CommonName验证策略,但这需谨慎评估安全风险。

重要提醒:在生产环境中,应始终使用有效的、受信任的SSL证书。上述方法2仅适用于特定场景(如内部测试、对接已知可控的自签名服务),在公开发布的应用中应避免无条件信任所有证书,以免引入中间人攻击风险。请优先联系服务器管理员修复证书问题。

回到顶部