如何在 Nodejs 中使用来自 Windows 应用商店的服务器证书

Posted

技术标签:

【中文标题】如何在 Nodejs 中使用来自 Windows 应用商店的服务器证书【英文标题】:How to use a Server Certificate from the Windows Store in Nodejs 【发布时间】:2012-11-17 07:18:55 【问题描述】:

我目前正在实现一个 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 证书而不提取密钥。

【问题讨论】:

Nodejs - Windows Key/Certificate store的可能重复 看起来绝对不是重复的。另一个问题是问“我如何将东西放在 Windows 证书商店中”。这个是在问“如何在我的节点 http 服务器上使用证书(来自 Windows 证书商店) 【参考方案1】:

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

【讨论】:

现已弃用,github 注释说“使用 github.com/ukoloff/win-ca”,但有点不同 嗨,您找到解决方案了吗?我遇到了类似的问题,尝试了 win-ca,但现在确定这有什么帮助?

以上是关于如何在 Nodejs 中使用来自 Windows 应用商店的服务器证书的主要内容,如果未能解决你的问题,请参考以下文章

如何在nodejs中处理来自android的JSON

如何在 Windows 7 中使用 Nodejs? [关闭]

如何以刷新率在nodejs中显示来自mysql的数据

执行 nodejs 脚本作为子进程(不是来自其他脚本)

如何显示来自 nodejs 服务器的图像

如何在 NodeJS、Mongoose 和 TypeScript 中使用日期和时间?