Клиентские запросы Node.JS HTTPS не проверяют сертификат сервера на соответствие предоставленному сертификату ca

Я пытаюсь создать клиент в 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);
});

person roiros    schedule 16.05.2012    source источник
comment
Представляет ли один файл ca всю цепочку проверки сертификата? Вы можете передать массив в параметр ca.   -  person Julian Knight    schedule 18.05.2012
comment
да, одного CA было достаточно, но спасибо за напоминание   -  person roiros    schedule 22.05.2012