gpt4 book ai didi

node.js - 从 Node.js 访问 OpenSSL 的不同方法

转载 作者:搜寻专家 更新时间:2023-10-31 22:34:37 27 4
gpt4 key购买 nike

我正在寻找一种集成 OpenSSL 和 Node.js 的方法。

我的目标是:

  • 我想独立于平台,因此解决方案应该适用于 OS X、Linux 和 Windows。
  • 我想避免不必要的磁盘操作。例如,私钥可能不在文件中,而是在数据库中(这可能是一个愚蠢的例子,但让我们认为这是一个有效的要求)。
  • 我想支持创建 key 、csrs、签署 csrs、创建 ca 证书......所有证书的东西,从头到尾。

现在我考虑的选项是:

  • 使用集成在 Node.js 中的 OpenSSL 库。不幸的是,加密模块不提供证书的东西。
  • 通过外部模块使用 OpenSSL 库。不幸的是,我不知道该怎么做,可能是因为缺少 C/C++ 知识。
  • 使用 OpenSSL 二进制文件作为子进程。鉴于 OpenSSL 可用,这应该适用于所有平台。这不是很好,但很管用。

问题 #1:正如我所写,我对如何直接访问与 Node.js 捆绑在一起的 OpenSSL 库一无所知。我将如何处理这个问题?

目前,我坚持使用二进制文件作为子进程。不幸的是,这要求所有的东西,比如私钥等等,要么作为文件给出(我明确想要避免),要么我使用/dev/stdin(这在 Windows 上不起作用)来交出所有东西。

问题 #2:我该如何处理? #1 的解决方案是否也能解决这个问题?

最佳答案

问题 1 的答案是你不能。没有绑定(bind),你只能访问nodejs暴露的函数。

不幸的是,在 Windows 中似乎没有解决/dev/stdin 的方法。 Namedpipes 是一个选项,但 nodejs 不支持它们。您可以让 nodejs 在交互模式下启动 openssl.exe 并通过 stdin 发送命令,并通过 stdout 读取输出,但这似乎效率很低。

所以问题 #2 的答案是您无法处理 Windows 问题。

编写您的 won 绑定(bind)似乎是唯一的选择。这实际上并没有那么困难 - 我相信您可以得到合作者的帮助。

关于node.js - 从 Node.js 访问 OpenSSL 的不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15042919/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com