亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用https.request忽略node.js中無效的自簽名ssl證書?

使用https.request忽略node.js中無效的自簽名ssl證書?

呼如林 2019-08-30 14:20:08
我正在開發一個登錄我本地無線路由器(Linksys)的小應用程序,但我遇到了路由器的自簽名證書問題。我運行wget 192.168.1.1并得到:ERROR: cannot verify 192.168.1.1's certificate, issued by `/C=US/ST=California/L=Irvine/O=Cisco-Linksys, LLC/OU=Division/CN=Linksys/[email protected]':Self-signed certificate encountered.ERROR: certificate common name `Linksys' doesn't match requested host name `192.168.1.1'.To connect to 192.168.1.1 insecurely, use `--no-check-certificate'.在節點中,捕獲的錯誤是:{ [Error: socket hang up] code: 'ECONNRESET' }我目前的示例代碼是:var req = https.request({     host: '192.168.1.1',     port: 443,    path: '/',    method: 'GET'}, function(res){    var body = [];    res.on('data', function(data){        body.push(data);    });    res.on('end', function(){        console.log( body.join('') );    });});req.end();req.on('error', function(err){    console.log(err);});我怎樣才能讓node.js做相當于“--no-check-certificate”的操作?
查看完整描述

3 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

在您的請求選項中,請嘗試包含以下內容:


   var req = https.request({ 

      host: '192.168.1.1', 

      port: 443,

      path: '/',

      method: 'GET',

      rejectUnauthorized: false,

      requestCert: true,

      agent: false

    },


查看完整回答
反對 回復 2019-08-30
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

不要相信所有試圖誤導你的人。


在您的請求中,只需添加:


ca: [fs.readFileSync([certificate path], {encoding: 'utf-8'})]

如果您打開未經授權的證書,您將完全不受保護(因為沒有驗證身份而暴露給MITM),并且在沒有SSL的情況下工作不會有太大的區別。解決方案是指定您期望的CA證書,如下一個代碼段所示。確保證書的公用名與您在請求中調用的地址相同(如主機中指定的):


你將得到的是:


var req = https.request({ 

      host: '192.168.1.1', 

      port: 443,

      path: '/',

      ca: [fs.readFileSync([certificate path], {encoding: 'utf-8'})],

      method: 'GET',

      rejectUnauthorized: true,

      requestCert: true,

      agent: false

    },

請閱讀這篇文章(披露:本答案作者撰寫的博客文章),以便了解:


CA證書的工作原理

如何生成CA Certs以便輕松進行測試以模擬生產環境


查看完整回答
反對 回復 2019-08-30
  • 3 回答
  • 0 關注
  • 2803 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號