Node.JS HTTPS客户端请求不会根据给定的ca证书验证服务器证书

时间:2012-05-16 15:25:36

标签: node.js https client ssl-certificate

我正在尝试在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);
});

0 个答案:

没有答案