关于 PGP 注册表签名(已弃用)

Note: 基于 PGP 的注册表签名将在 2023 年 4 月 25 日 上弃用,取而代之的是 ECDSA 注册表签名。 这意味着从该日期起,将不再使用 PGP 密钥签署任何新包,并且 托管在 Keybase 上的公钥 将过期。

为了增加对 npm 公共注册表的信心,我们将 PGP 签名添加到包元数据中,并在 Keybase 上公开我们的公共 PGP 密钥。 我们的 Keybase 账户是 "npmregistry",我们的公共 PGP 密钥可以在 https://keybase.io/npmregistry/pgp_keys.asc 找到

你可以使用包 PGP 签名和我们的公共 PGP 密钥来验证发布密钥 (npm) 的同一实体是否也签署了你从 npm 公共注册表下载的包。 有关详细信息,请参阅 "从 npm 公共注册证明包的 PGP 签名"。

使用的工具

openpgpjs

为了生成 PGP 签名,我们使用 openpgpjs,一个 OpenPGP 的纯 JavaScript 实现。 要了解有关 openpgpjs 的更多信息,请参阅 https://openpgpjs.org/。

Keybase

我们使用 Keybase 来公开我们的 PGP 密钥,并让你确信你安装的 npm 注册表与签署包的注册表相同。

与核心 OpenPGP 体验相比,Keybase 提供了两个优势,促使我们向你推荐它:

  • Keybase 应用和 CLI 为 PGP 提供了出色的用户体验,这对新手来说可能是令人生畏的。
  • Keybase 管理和显示控制特定 PGP 密钥的实体也控制社交媒体和其他地方的账户的社会证明。 这些证明可帮助你确定你是否可以信任账户。

我们已经在 Keybase 上建立了我们控制 Twitter 上的 @npmjs、域 npmjs.com 和域 npmjs.org 的证明。 验证这些证明不会告诉你谁拥有这些域,但它确实确定同一实体控制它们,以及在 Keybase 上公布的 PGP 密钥。

如果你安装了 Keybase 并创建了一个账户,你可以自己关注 npmregistry 并获取注册表公钥的本地副本。 有关更多信息,以及从 npm 公共注册表验证特定包版本的 PGP 签名,请参阅 "从 npm 公共注册证明包的 PGP 签名"。

npm 中文网 - 粤ICP备13048890号