Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 你如何解决;“证书链中的自签名证书”;Node.js出错?_Javascript_Node.js_Ssl_Electron_Wireshark - Fatal编程技术网

Javascript 你如何解决;“证书链中的自签名证书”;Node.js出错?

Javascript 你如何解决;“证书链中的自签名证书”;Node.js出错?,javascript,node.js,ssl,electron,wireshark,Javascript,Node.js,Ssl,Electron,Wireshark,我目前有一个部分在Node.js/Electron(后端)和React(前端)上运行的应用程序。我可以单独运行这些,但整个项目必须利用这两个。通常,后端的javascript代码大量使用http.get调用 最近,我设置了一个TSL/SSL证书,这样只有受信任的用户才能查看/访问应用程序的某些方面。在此之后,我尝试将所有http.get调用更改为https.get调用,并将所有相关端点从http://更改为https://。在我做出改变之前,一切都很顺利。虽然更改URL似乎没有改变任何东西,但将

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


最近,我设置了一个TSL/SSL证书,这样只有受信任的用户才能查看/访问应用程序的某些方面。在此之后,我尝试将所有
http.get
调用更改为
https.get
调用,并将所有相关端点从
http://
更改为
https://
。在我做出改变之前,一切都很顺利。虽然更改URL似乎没有改变任何东西,但将
http.get
请求更改为
https.get
请求确实改变了

现在,我不断收到错误
error:certificate chain中的自签名证书
,我不完全确定如何修复此问题。除了Node之外,它似乎在任何地方都能工作。我不希望它更改代码以允许未经授权的用户。我只是想确保我发送和接收的数据是加密的

我曾尝试使用Node的
节点rest客户端
,但我认为这也不能解决问题。我一直在尝试使用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))
    })
  })
}

其中,
选项
看起来像:
{hostname:'hostname',path:'/path',headers:{ApiKey:'??-'}}

“我如何设置TSL/SSL证书?”?您可能生成了一个自签名的,因此会出现错误。从任何知名CA获取“真实”证书,您的错误将立即消失……我使用了一个名为Sectigo的服务:那么您的证书肯定不是自签名的,因此如果您收到特定的错误消息,则表示您没有使用Sectigo提供给您的证书。您需要详细了解客户端获得的证书,并了解验证失败。“我如何设置TSL/SSL证书”?您可能生成了一个自签名的,因此会出现错误。从任何知名CA获取“真实”证书,您的错误将立即消失……我使用了一个名为Sectigo的服务:那么您的证书肯定不是自签名的,因此如果您收到特定的错误消息,则表示您没有使用Sectigo提供给您的证书。您需要详细了解客户端获得的证书,并了解验证失败的原因。