如何使用Node.js修复“证书链中的自签名证书”错误?

时间:2019-09-18 19:05:10

标签: javascript node.js ssl electron wireshark

我目前有一个在Node.js / Electron(后端)和React(前端)上部分运行的应用程序。我可以单独运行它们,但是整个项目必须同时使用两者。通常,后端的javascript代码大量使用了http.get调用。

最近,我设置了TSL / SSL证书,以便只有受信任的用户才能查看/访问应用程序的某些方面。之后,我尝试将所有http.get调用更改为https.get调用,并将所有相关端点从http://更改为https://。在我进行此更改之前,所有人都工作正常。虽然更改URL似乎没有任何改变,但将http.get请求更改为https.get请求。

现在,我一直收到错误Error: self signed certificate in certificate chain,但我不确定如何解决此错误。除Node以外,它似乎无处不在。我不希望它更改代码以允许未经授权的用户。我只想确保我发送和接收的数据是加密的。

我尝试使用Node的node-rest-client,但我也不认为这可以解决问题。我一直在尝试使用Wireshark来验证我的数据是否已加密,但是我不确定这是否也使我更接近解决方案。

我的代码如下:

const path = require('path')
const https = require('https')

async function foobar1 (options) {
  return new Promise(async (resolve, reject) => {
    await https.get(options, async (response) => {
      console.log(response)
    }).on('error', function (e) {
      reject(new Error(e, e.message))
    })
  })
}

其中options如下:{ hostname: 'hostname', path: '/path', headers: { ApiKey: '????-????-????'} }

0 个答案:

没有答案