目录
验证 ECDSA 注册签名
目录
为了确保从公共 npm 注册表或任何支持签名的注册表下载的包的完整性,您可以使用 npm CLI 验证下载包的注册表签名。
先决条件
- 安装 npm CLI 版本 v8.15.0 或更高版本
- 使用
npm install
或npm ci
安装依赖项
验证注册表签名
可以使用以下 audit
命令验证注册表签名
npm audit signatures
如果所有已安装版本都具有有效的注册表签名,则 CLI 将显示此示例响应
audited 1640 packages in 2s1640 have verified registry signatures
故障排除
某些包缺少注册表签名
如果包没有签名 *并且* 包注册表支持签名,则 CLI 将报错。这可能意味着攻击者可能试图绕过签名验证。您可以通过从 registry-host.tld/-/npm/v1/keys
请求公共签名密钥来检查注册表是否支持签名。
如果某些版本缺少注册表签名,则 CLI 将显示此示例响应
audited 1640 packages in 2s1405 packages have verified registry signatures235 packages have missing registry signatures but the registry is providing signing keys:...