Verdaccio 使用什么算法来加密 npm 注册表?



在任何地方都找不到信息。我是计算机安全领域的菜鸟,所以我的问题听起来可能有点愚蠢。

我知道我们可以使用 HTTPS 与 Verdaccio通信,我们可以使用 htpasswd 设置身份验证,所以我猜 Verdaccio npm 注册表配置为使用 HTTPS 并且身份验证是加密的。如果我是对的,用于加密注册表的算法是什么?

Verdaccio使用crypto.createCipher(algorithm, password[, options])进行默认令牌加密。

一个简单的例子是:

import { createDecipher, createCipher, createHash, pseudoRandomBytes, Hash } from 'crypto';
const const payload = Buffer.from(`${name}:${password}`, 'utf8'));
const c = createCipher('aes192', SOME_RANDOM_SALT_VALUE);
const b1 = c.update(payload);
const b2 = c.final();
return Buffer.concat([b1, b2]);

此外,它可以选择使用标准JWT(jsonwebtoken(,但默认情况下不启用。

根据文档,您的问题的可能答案可能是

该算法依赖于OpenSSL,例如"aes192"等。在最近的OpenSSL版本中,openssl list -cipher-algorithms(openssl list-cipher-algorithms适用于旧版本的OpenSSL(将显示可用的密码算法。

相关内容

  • 没有找到相关文章

最新更新