Labeo Labeo - 1 month ago 14
Node.js Question

Error: unable to verify the first certificate in nodejs

I'm trying to download a file from jira server using an url but I'm getting an error.
how to include certificate in the code to verify
Error:

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)


My Nodejs code:

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);

});
});

Answer

Try adding the appropriate root certificate

This is always going to be a much safer option than just blindly accepting unauthorised end points, which should in turn only be used as a last resort.

This can be as simple as adding require('ssl-root-cas').inject(); to your entry point.

https://www.npmjs.com/package/ssl-root-cas