Javascript 在NodeJS中,如何指定一个ca证书用于客户端证书检查,另一个用于向浏览器显示证书链

Javascript 在NodeJS中,如何指定一个ca证书用于客户端证书检查,另一个用于向浏览器显示证书链,javascript,node.js,ssl,certificate,client-certificates,Javascript,Node.js,Ssl,Certificate,Client Certificates,我正在尝试编写一个程序,使用客户端证书身份验证作为我的主要身份验证方法。我有一个为我的网站签名的证书,我想让这个应用程序使用。我读了这篇文章并打算实现我的服务器,但我想向浏览器展示我的签名证书,然后用我自己的证书颁发机构对他们使用keygen属性生成的证书进行签名 示例代码: var https = require("https"); var http = require("http"); var fs = require("fs"); var options = { key:fs.r

我正在尝试编写一个程序,使用客户端证书身份验证作为我的主要身份验证方法。我有一个为我的网站签名的证书,我想让这个应用程序使用。我读了这篇文章并打算实现我的服务器,但我想向浏览器展示我的签名证书,然后用我自己的证书颁发机构对他们使用keygen属性生成的证书进行签名

示例代码:

var https = require("https");
var http = require("http");
var fs = require("fs");

var options = {
    key:fs.readFileSync("./myserver.key"),
    cert:fs.readFileSync("./server.crt"),
    ca:fs.readFileSync("server.ca_bundle"),
    //I want to have a separate certificate for checking client certificates here, but I would be ok with any solution to the problem.
    requestCert:true,
    rejectUnauthorized: false   
};

https.createServer(options, function (req, res) {
    res.writeHead(200, "Content-type: text/plain");
    res.write("Authorized: "+JSON.stringify(req.client.authorized))
}).listen(443);

如果您希望您自己的CA作为授权连接的唯一机构,您不应该简单地将您自己的CA证书作为CA参数传递吗?我想要一个由CA签名的证书,但不是一个由签名者提供完整证书链的CA,以及另一个用于客户端证书验证的证书。是的,提交的证书应在密钥/证书中,您自己的验证CA应在CA中。