Я пытаюсь создать клиент в NodeJs, который будет проверять сертификат сервера, к которому он подключается. Я не нашел примеров/документации по этому вопросу, и пример на https://github.com/vanjakom/JavaScriptPlayground/blob/master/client_server_ssl_nodejs/client.js не приводит к сбою сервера, хотя сертификат сервера не соответствует ca.crt, используемому клиентом.
может ли кто-нибудь предложить способ проверки сертификата сервера клиентом?
слегка измененный код из источника сайта:
var https = require('https');
var fs = require("fs");
var options = {
host: 'localhost',
port: 8000,
path: '/test',
method: 'GET',
//key: fs.readFileSync("keys/userB.key"),
//cert: fs.readFileSync("certs/userB.crt"),
ca: fs.readFileSync("ca.crt")
,rejectUnauthorized:true,
requestCert:true,
agent:false
};
var req = https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function(d) {
console.log(""+d);
});
});
req.end();
req.on('error', function(e) {
console.error(e);
});