11

我目前正在实现一个 NodeJS 服务器,它在 Windows 机器上运行。我的要求是为客户端服务器通信启用证书验证。目前,我的代码如下所示,效果很好(请注意,所有客户端都发送了服务器根 CA 证书)。

var ssl_options = {
    key: fs.readFileSync(options.key),
    cert: fs.readFileSync(options.cert),
    ca: null        
};

server = https.createServer(ssl_options, function (request, response) {
    // server logic
}

但是,我的要求是使用 Windows 商店中已经存在的证书,如果不从证书中提取私钥,我将无法正确执行此操作。

我尝试使用 Httpsys 模块,它工作正常,但看起来它是一个非常新的模块,尚未正确测试。因此,想知道是否有任何其他替代方法可以直接在 Nodejs 中使用 windows 证书而不提取密钥。

4

1 回答 1

0

您可以查看 npm 模块https://www.npmjs.com/package/windows-certs并在您的应用程序中使用它或重用它的代码。这个想法很简单——你启动你的应用程序,将证书导出到 ram,然后用于 ssl 连接。初始格式转换应该无关紧要。

于 2017-10-09T16:42:05.947 回答