我现在正在寻找一种集成 OpenSSL 和 Node.js 的方法。
我的目标是:
- 我想独立于平台,因此解决方案应该适用于 OS X、Linux 和 Windows。
- 我想避免不必要的磁盘操作。例如,私钥可能不在文件中,而是在数据库中(可能是一个愚蠢的例子,但让我们认为这是一个有效的要求)。
- 我想支持创建密钥、csrs、签署 csrs、创建 ca 证书……所有证书的东西,从头到尾。
现在我考虑的选项是:
- 使用集成在 Node.js 中的 OpenSSL 库。不幸的是,加密模块不提供证书的东西。
- 使用外部模块使用 OpenSSL 库。不幸的是,我不知道该怎么做,可能是由于缺少 C/C++ 知识。
- 使用 OpenSSL 二进制文件作为子进程。鉴于 OpenSSL 可用,这应该适用于所有平台。这不是很好,但它有效。
问题 #1:正如我所写,我对如何直接访问与 Node.js 捆绑在一起的 OpenSSL 库一无所知。我将如何处理这个?
目前,我坚持使用二进制文件作为子进程。不幸的是,这要求所有的东西,比如私钥等等,要么作为文件给出(我明确地想避免),要么我使用 /dev/stdin 交出所有东西(这在 Windows 上不起作用)。
问题2:我该如何处理?#1的解决方案也能解决这个问题吗?