現在Electronで動作するアプリケーションを作成しております。
自己証明書を使っているサイトにブラウザ(IE, Chrome)でアクセスした場合、警告画面が表示されるかと思いますが、
Electron内で動かしているnode.jsのrequestでアクセスした場合、こちらのエラーが返ってきております。
UNABLE_TO_VERIFY_LEAF_SIGNATURE
これは証明書を端末にインポートしていないため当然かと思いますが、端末内の信頼されたルート証明機関に証明書をインポートするとブラウザからは警告画面が表示されなくなりますが、requestでアクセスした場合、先ほどと変わらず同じエラーが返ってきております。
以下のコードのように証明書を個別でオプションに設定するとエラーが返ってくることなくアクセスできることは確認しております。(必要部分のみ抜粋して記載しております)
javascript
1var request = require('request'); 2var fs = require('fs'); 3 4var param = { 5 url : 'https://hogehoge.com', 6 ca : fs.readFileSync('filePath') 7} 8 9request.post(param, function(err, res, body) { 10});
これをオプションに個別でファイルを指定して行うのではなく、ブラウザが参照しに行っているルート証明機関と同じものを参照させるような方法はありますでしょうか?(端末にインポートすればrequestからアクセスできるようにする)
以下のコードのように無理やり突破するのではなく、あくまで証明書を見に行って承認されていればアクセスする、といった方法です。
javascript
1process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0" 2rejectUnauthorized: false
ご存知の方おりましたら、ご回答よろしくお願いします。
動作環境
node.js:v0.10.42
electron:v0.36.10
requesnt:v2.60.0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。