我正在尝试使用url从jira服务器下载文件,但是我收到了一个错误.如何在代码中包含证书以验证 错误:
Error: unable to verify the first certificate in nodejs
at Error (native)
at TLSSocket.<anonymous> (_tls_wrap.js:929:36)
at TLSSocket.emit (events.js:104:17)
at TLSSocket._finishInit (_tls_wrap.js:460:8)
Run Code Online (Sandbox Code Playgroud)
我的Nodejs代码:
var https = require("https");
var fs = require('fs');
var options = {
host: 'jira.example.com',
path: '/secure/attachment/206906/update.xlsx'
};
https.get(options, function (http_res) {
var data = "";
http_res.on("data", function (chunk) {
data += chunk;
});
http_res.on("end", function () {
var file = fs.createWriteStream("file.xlsx");
data.pipe(file);
});
});
Run Code Online (Sandbox Code Playgroud) 我正在使用CLI工具来构建具有很酷上传功能的混合移动应用程序,因此我可以在设备上测试应用程序而无需通过应用程序商店(它是ionic-cli).但是,在我的公司,像许多其他公司一样,TLS请求使用公司自己的自定义CA证书重新签名,我在我的机器上有钥匙串(OS X).但是,nodejs不使用密钥链来获取其信任的CA列表.我不控制ionic-cli应用程序,所以我不能简单地将{ca:}属性传递给https模块.我还可以看到这是我无法控制的任何节点应用程序的问题.是否可以告诉nodejs信任CA?
我不确定这是属于信息安全还是任何其他交易所......