1. ホーム
  2. node.js

[解決済み】エラー:nodejsの最初の証明書を検証できない

2022-04-08 03:37:34

質問

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)

私の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);
      
    });
});

解決方法は?

適切なルート証明書を追加してみてください

これは、未承認のエンドポイントをただやみくもに受け入れるよりも、はるかに安全なオプションになるはずです。

を追加するだけの簡単なものです。

require('https').globalAgent.options.ca = require('ssl-root-cas/latest').create();

をアプリケーションに追加してください。

SSL Root CAs npm パッケージ (は、この問題に関して非常に有用なパッケージです。