HarmonyOS 鸿蒙Next:axios请求框架,如何使用自定义证书

发布于 1周前 作者 h691938207 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:axios请求框架,如何使用自定义证书
我们这边的服务器是使用自定义证书的,使用的 axios 进行请求。代码如下

 axiosRequest() {
    axios.create()
      .request({
        url: '省略',
        headers: {
          'Content-Type': 'application/json'
        } as AxiosRequestHeaders,
        sslCertificateManager: {
          checkClientTrusted: function (data: certFramework.X509Cert) {
            console.log('axiosRequest', 'checkClientTrusted')
          },

          checkServerTrusted: function (data: certFramework.X509Cert) {
            console.log('axiosRequest', 'checkServerTrusted')
          }
        }
      }).then(res => {
      console.log('axiosRequest', '#1')
    }).catch((err) => {
      console.log('axiosRequest', '#2')
    });
  }

这边定义了 sslCertificateManager,看日志是没走checkClientTrusted 和 checkServerTrusted 方法。响应结果报 {"code":2300060,"message":"SSL peer certificate or SSH remote key was not OK"} 错误信息。应该怎么调整请求。

5 回复

这边看到有个 caPath 和 clientCert 属性,自定证书是填到哪个的。还有一个就是路径要怎么填, 这边的证书是放在rawfile目录的,

同问,有没有解决啊,求助

你好,我也遇到这问题了,请问解决了吗

在HarmonyOS鸿蒙Next环境中使用axios请求框架并配置自定义证书,可以通过以下步骤实现:

  1. 安装axios:确保你的项目中已安装axios。若未安装,可通过npm或yarn进行安装。

  2. 准备自定义证书:将你的自定义证书(如.pem或.crt文件)放置在项目的合适位置。

  3. 配置HTTPS Agent:在发送请求前,你需要创建一个HTTPS Agent,并将自定义证书配置到该Agent中。这通常涉及到Node.js的https模块。

    const https = require('https');
    const fs = require('fs');
    const axios = require('axios');
    
    const options = {
        ca: fs.readFileSync('path/to/your/certificate.pem')
    };
    
    const agent = new https.Agent(options);
    
    axios.create({
        httpsAgent: agent
    }).get('https://your-api-endpoint.com')
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
    
  4. 测试请求:运行你的代码,确保axios请求能够正确通过自定义证书进行HTTPS通信。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部