在NodeJS中按需更新CRL

时间:2014-09-04 18:02:19

标签: node.js ssl ssl-certificate

我正在创建证书颁发机构并颁发客户端证书。我正在使用NodeJS来检查证书是否有效。我使用以下命令启动我的https服务器:

https.createServer({ca: [xxx], crl: xxx}, app).listen(443);

CA和CRL指向有效文件。问题是,如果我撤销证书并更新crl文件,除非我重新启动进程,否则节点不知道。反正我是否强制节点重新加载crl文件?

1 个答案:

答案 0 :(得分:0)

你有没有想到这个?

您应该提供文件内容的字符串数组,而不是提供文件。

我相信你可以通过动态添加新的撤销来修改数组,但是如果我误解了这一点,至少你可以停止在之前的服务器上监听并开始在新服务器上监听像这样的东西,只有停机时间。

newServer = https.createServer(opts, app)
server.on('close', function () {
  server = newServer;
  selver.listen(port);
});
server.close();

我认为这将使原始服务器实例仍处理当前连接的客户端,但不再侦听新客户端,当前客户端已断开连接时,将收集垃圾。我可能弄错了,但这个基本想法至少会让你走上正确的道路。