自签名证书NodeJS rejectUnauthorized

时间:2015-12-11 14:59:09

标签: node.js ssl https openssl

我创建了一个结构证书来验证客户端 - >服务器,仅允许使用此步骤的CA识别的证书:https://jamielinux.com/docs/openssl-certificate-authority/create-the-root-pair.html

我用openssl检查了权限,然后它返回给我OK证书服务器和客户端,使用相同的CA.但是通过在服务器上将参数rejectUnauthorized设置为true,客户端无法连接。

我是否应该设置任何额外参数以允许我生成的证书进行身份验证?

----编辑

在客户端,我收到以下错误:“”ECONNRESET“socket挂断”

1 个答案:

答案 0 :(得分:0)

我花了很长时间研究类似的问题,我写了这篇文章来讨论如何利用node.js挖掘各种OpenSSL问题:http://www.thedreaming.org/2016/09/27/nodejs-ssl/

简短的回答是,如果您在创建客户端连接时需要传递ca参数。如果您将自签名证书存储在cert.pem中,则客户端代码类似于:

var https = require('https');
var fs = require('fs');    
var certificate = fs.readFileSync('cert.pem');

var options = {
    host: serverHost,
    port: 443,
    path: '/',
    ca: [certificate]
};
https.request(options, function(res) {
    res.pipe(process.stdout);
}).end();
相关问题