NodeJS crypto 是否依赖于用户的系统?

Is NodeJS crypto dependent on the user's system?

我正在寻找一个完整的 JS 加密库:所有 SHA、AEAD(chacha/poly、aes-gcm)、所有 AES、NIST 和 SECP P256 和 ED25519 支持、ECDSA、ECDH/E等

看起来 nodeJS 加密模块完全支持我需要的一切,但它说它是 OpenSSL 的包装器。

这是否意味着如果用户没有安装 OpenSSL(或过时的版本),某些功能可能无法工作?我认为是的,但这与 Node 非常不同,所以我想确定一下。

如果是这样,是否有任何“完整”的库? libsodium、sjcl 和 crypto-js 是不够的(如果需要,我可以从多个库中拼凑一个 sol'n)。

Nodejs 静态链接到它自己内置的 OpenSSL 版本。它不依赖于外部 OpenSSL 安装。

有多篇文章提到如何更新 nodejs 以获得更新的 OpenSSL 版本(因为它将 OpenSSL 直接链接到 nodejs)。

以下是其中的几篇文章:

https://developer.ibm.com/blogs/openssl-111-has-landed-in-nodejs-master-and-why-its-important-for-nodejs-lts-releases/

https://nodejs.org/ru/blog/vulnerability/april-2020-openssl-updates/

https://issueexplorer.com/issue/nodejs/node/40106