# @digitalbazaar/bbs-signatures 中文文档

规范地址：https://npmcn.com/package/%40digitalbazaar/bbs-signatures/

版本：3\.1\.0
npm 元数据更新时间：2026-06-02T02:25:54.107Z
中文译文更新时间：2026-11-12T08:41:17.153Z
软件包许可：BSD-3-Clause

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40digitalbazaar/bbs-signatures
原文对照：https://npmcn.com/package/%40digitalbazaar/bbs-signatures/?lang=original
项目主页：https://github.com/digitalbazaar/bbs-signatures
源码仓库：https://github.com/digitalbazaar/bbs-signatures

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：120 kB，22 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：2 个
- 首次发布：2024-01-10T06:04:41.422Z
- 最新版本发布：2026-06-02T02:25:53.945Z
- 近 30 天下载量：19510（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 1 个）

## 中文简介

一个 Javas Sript BBS 签名执行

## 安装

```sh
npm install @digitalbazaar/bbs-signatures
```

也可以使用：`pnpm add @digitalbazaar/bbs-signatures`、`yarn add @digitalbazaar/bbs-signatures`、`bun add @digitalbazaar/bbs-signatures`

## README

# BBS 签名 _(@digitalbazaar/bbs-signers)_

[![Node.js CI](https://github.com/digitalbazaar/bbs-signatures/workflows/Node.js%20CI/badge.svg)](https://github.com/digitalbazaar/bbs-signatures/actions?query=workflow%3A%22Node.js+CI%22) [![NPM Version](https://img.shields.io/npm/v/@digitalbazaar/bbs-signatures.svg)](https://npm.im/@digitalbazaar/bbs-signatures)

> 一个 JavaScript BBS 签名执行

## 目录

-   [背景情况](https://npmcn.com/package/%40digitalbazaar/bbs-signatures/#readme-background)
-   [警卫](https://npmcn.com/package/%40digitalbazaar/bbs-signatures/#readme-security)
-   [安装](https://npmcn.com/package/%40digitalbazaar/bbs-signatures/#readme-install)
-   [使用量](https://npmcn.com/package/%40digitalbazaar/bbs-signatures/#readme-usage)
-   [贡献](https://npmcn.com/package/%40digitalbazaar/bbs-signatures/#readme-contribute)
-   [商业支助](https://npmcn.com/package/%40digitalbazaar/bbs-signatures/#readme-commercial-support)
-   [许可证](https://npmcn.com/package/%40digitalbazaar/bbs-signatures/#readme-license)

## 背景情况

另见(相关规格):

-   [BBS 签名 RFC](https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-signatures-06.html)
-   [BBS 盲人签名 RFC](https://www.ietf.org/archive/id/draft-kalos-bbs-blind-signatures-03.html)
-   [BBS 名词学 RFC](https://www.ietf.org/archive/id/draft-kalos-bbs-per-verifier-linkability-00.html)

## 警卫

同大多数与安全和密码学有关的工具一样 您的系统将在很大程度上取决于您的设计决定 .

## 安装

-   需要节点.js 18+.

在当地安装(用于开发):

```
git clone https://github.com/digitalbazaar/bbs-signatures.git
cd bbs-signatures
npm install
```

## 使用量

### 生成新的公密密钥配对

要生成一个新的公用/保密的 BLS12-381 密钥配对, 并使用 BBS 签名 :

```js
import * as bbs from '@digitalbazaar/bbs-signatures';

const {secretKey, publicKey} = await bbs.generateKeyPair({
  ciphersuite: 'BLS12-381-SHA-256'
  // same as using the constant: bbs.CIPHERSUITES.BLS12381_SHA256
});
// includes `secretKey` and `publicKey` keys, each is a `Uint8Array`
// `secretKey` is big-endian-encoded scalar
// `publicKey` is compressed (x, y) coordinates of a BLS12-381 G2 point
// other ciphersuite choice is: 'BLS12-381-SHAKE-256'
```

### 创建 BBS 签名

签名可选 `header` 和一组 `messages` 使用 BBS .

```js
import * as bbs from '@digitalbazaar/bbs-signatures';

const {secretKey, publicKey} = await bbs.generateKeyPair({
  ciphersuite: 'BLS12-381-SHA-256'
});
// `header`
const header = new Uint8Array();
// N-many `messages`, each is a `Uint8Array`, use `TextEncoder` to
// express strings as UTF-8 bytes
const messages = [new TextEncoder().encode('some message')];
// `signature` is a `Uint8Array`
const signature = await bbs.sign({secretKey, publicKey, header, messages});
```

### 正在验证 BBS 签名

验证完整的 BBS 签名 。 这种核查方法不太可能 用于 `verifyProof()` 签字持有人应 供核查者核实的证据.

```js
import * as bbs from '@digitalbazaar/bbs-signatures';

// pass original signer's `publicKey`, `signature`, `header`, and `messages`
const verified = await bbs.verifySignature({
  publicKey, signature, header, messages,
  ciphersuite: 'BLS12-381-SHA-256'
});
// `verified` is a boolean
```

### 创建 BBS 证明

从 BBS 签名中获取作为持有者/验证者的证据 .

```js
import * as bbs from '@digitalbazaar/bbs-signatures';

// pass original signer's `publicKey`, `signature`, `header`, and `messages`
// as well as a custom `presentationHeader` and any `disclosedMessageIndexes`
const proof = await bbs.deriveProof({
  publicKey, signature, header, messages,
  presentationHeader, disclosedMessageIndexes,
  ciphersuite: 'BLS12-381-SHA-256'
});
// `proof` is a `Uint8Array` containing a BBS proof
```

### 正在验证 BBS 证明

验证持有者/ 验证者提供的证据 .

```js
import * as bbs from '@digitalbazaar/bbs-signatures';

// pass `proof`, original signer's `publicKey` and`header`
// as well as holder's custom `presentationHeader`, `disclosedMessages`, and
// `disclosedMessageIndexes`
const verified = await bbs.verifyProof({
  publicKey, proof, header,
  presentationHeader, disclosedMessages, disclosedMessageIndexes,
  ciphersuite: 'BLS12-381-SHA-256'
});
// `verified` is a boolean
```

## 贡献

见 [贡献文件](https://github.com/digitalbazaar/bedrock/blob/master/CONTRIBUTING.md)来啊!

公关接受.

请遵照 [标准读取](https://github.com/RichardLitt/standard-readme) 规格.

## 商业支助

该图书馆的商务支助可应下列请求提供: 数字集市: [支持@ digitalbazaar.com](mailto:support@digitalbazaar.com)

## 许可证

[新建 BSD 许可证( 3- clause)](https://npmcn.com/package/%40digitalbazaar/bbs-signatures/LICENSE) 2024年数字集市

## 常见问题

### @digitalbazaar/bbs-signatures 是什么？

一个 Javas Sript BBS 签名执行

### 如何安装 @digitalbazaar/bbs-signatures？

在项目目录运行 npm install @digitalbazaar/bbs-signatures，或使用 pnpm add / yarn add / bun add。

### @digitalbazaar/bbs-signatures 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/digitalbazaar\_\_bbs-signatures 是否存在。

### @digitalbazaar/bbs-signatures 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @digitalbazaar/bbs-signatures 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @digitalbazaar/bbs-signatures 可以商用吗？

@digitalbazaar/bbs-signatures 使用 BSD-3-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括，不构成法律意见，请以许可原文为准。

### @digitalbazaar/bbs-signatures 的下载量有多少？

根据 npm 官方下载统计，@digitalbazaar/bbs-signatures 在 2026/10/12 – 2026/11/10 这 30 天内被下载 19,510 次，日均约 650 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @digitalbazaar/bbs-signatures 还在维护吗？

最新版本 3\.1\.0 发布于 2026/06/02（5 个月前）；至今共发布 7 个版本，其中过去 12 个月发布了 1 个；首次发布于 2024/01/10。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

