# @digitalcredentials/jsonld-signatures 中文文档

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

版本：12\.0\.1
npm 元数据更新时间：2026-09-30T17:46:21.100Z
中文译文更新时间：2026-11-12T08:54:46.790Z
软件包许可：BSD-3-Clause

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

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

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

- 包体积（解压后）：63.8 kB，22 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：4 个
- 首次发布：2021-05-19T22:22:35.165Z
- 最新版本发布：2024-09-18T03:38:59.248Z
- 近 30 天下载量：90710（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 0 个）

## 中文简介

JavaScript中JSON-LD的链接数据签名规范的实施.

## 安装

```sh
npm install @digitalcredentials/jsonld-signatures
```

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

## README

# JSON-LD 签名 _(@数字证书/jsonld-签名)_

[![NPM Version](https://img.shields.io/npm/v/@digitalcredentials/jsonld-signatures.svg)](https://npm.im/digitalcredentials/jsonld-signatures)

> 用于节点.js和浏览器的JSON-LD的链接数据签名规格的实施.

## 目录

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

(从 [`jsonld-signatures` 页:1](https://github.com/digitalbazaar/jsonld-signatures) 以提供 TypeScript, Jest, 和反应原生相容性。 )

## 背景情况

创建( 或核实) 通过指定一个 签名套房和证明目的.

签名套件履行签名所需的加密操作(或 数字签字,并将信息列入诸如 `verificationMethod` 标识符,证明 `controller`日期 证据被创建.

证明目的说明证明为何成立及其预期用途 没错 这种信息还可以用来确保: `verificationMethod` 被授权用于证明中所述目的。 使用 证明目的有助于鼓励人们批准某些密码 用于明确目的而不是授予这些钥匙的钥匙(核查方法) 环境权威. 这种方法可以帮助人们防止意外 签署文件,原因他们不打算.

这个库为签名套房和证明目的提供基础课程 这样可以写入自定义扩展. 也提供一些常见的 用于证明目的.

### 与可核证全权证书的关系

`jsonld-signatures` 是一个低级库, 用于签名 _任意_ JSON-LD( 日语) 文档.

用于创建这些签名的一个常见用例是: [核证的全权证书](https://w3c.github.io/vc-data-model) (中文(简体) ). 狦琌 和他们一起工作,你应该使用一个更高级的图书馆 专门 (例如 [`@digitalcredentials/vc`](https://github.com/digitalcredentials/vc)。 。 。 . (顺便提一句, `vc-js` 使用这个库, `jsonld-signatures`),盖下

## 警卫

同大多数与安全和密码学有关的工具一样 您的系统将主要取决于您的设计决定( 哪些关键类型 将使用,你将存储 私钥,你放进你的 全权证书等).

### 文档加载器

在核查过程中,必须发现密钥和密钥控制器信息. 此库允许查找密钥和密钥控制器信息 通过a `documentLoader` 或可通过 签名套件或证明目的.

此库的默认值 `documentLoader` 对安全和内容非常严格 忠诚的目的。 它只装入本地可用的上下文副本 用于定义内部术语的文档。 任何加载的尝试 其它文档(包括其他上下文)将出现错误。 如果还有其他 诸如核查方法(如公用密钥文件)等文件不能 直接提供给API,因此需要加载,自定义文档 装载器必须经过。 为清晰起见,默认文件加载器 仅装入本地可用的下列文件副本:

-   [https://w3id.org/security/v1 请检查isbn=值 (帮助)](https://w3id.org/security/v1)
-   [https://w3id.org/security/v2 (中文(简体) )](https://w3id.org/security/v2)

如果您需要装入其他文档, 您需要提供 `documentLoader` 它可以提供它们。 jsonld.js 提供了节点和浏览器 `documentLoader` 但是,根据您的使用情况,您可以使用 通过使用自定义增加安全性 `documentLoader` 这同样严格 只能装入受某种技术限制的子集文件, 担保或商业规则.

## 安装

-   需要节点.js 12+.

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

```
git clone https://github.com/digitalcredentials/jsonld-signatures.git
cd jsonld-signatures
npm install
```

## 使用量

### 反应本地使用

这个库取决于 `expo-crypto` 用于 React 本地项目. 这意味着你必须加上 `expo-crypto` 给您的项目的依赖性.

样本 `package.json`数字 :

```
  "dependencies": {
    "expo-crypto": "~12.8.0"
  }
```

### 节点.js和浏览器使用

`jsonld-signatures` (编) `12.x` 上文(a)和(b)项并非供单独使用. 相反,它一般通过个人使用 _密码套件_。 。 。 . 详细的使用指令,请参见所支持套件的README:

-   [`Ed25519Signature2020`](https://github.com/digitalcredentials/ed25519-signature-2020)
-   [`Ed25519Signature2018`](https://github.com/digitalbazaar/ed25519-signature-2018)

大多数有个别套房的用法和关键类型将包含下列要素: 常见。 你将需要:

-   生成或导入要签名的密码密钥( 见 页:1 [`@digitalbazaar/crypto-ld >=v5.0`](https://github.com/digitalbazaar/crypto-ld)(中文(简体) ) 或使用安全软件 `signer()` 函数由您的安全 密码模块.
-   _授权_ 这些钥匙是用于特定目的的 (见下文关于目的的一节),使用主计长文件 (例如DD文件或类似文件).
-   用相应的密码签名套件对等这些密钥. 关于绿地开发,我们建议: [`Ed25519Signature2020`](https://github.com/digitalcredentials/ed25519-signature-2020) 套房,对于遗产/兼容性工作,可以使用 [`Ed25519Signature2018`](https://github.com/digitalbazaar/ed25519-signature-2018) 套间. 另见 [选择密钥类型](https://github.com/digitalbazaar/crypto-ld#choosing-a-key-type) 节 `crypto-ld` 文档.
-   准备你的 `documentLoader` 以安全的方式获取上下文和文件.
-   最后,执行 `jsigs.sign()` 或者说 `jsigs.verify()` 操作.

## 贡献

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

公关接受.

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

## 许可证

-   MIT许可证 - DCC - TypeScript兼容.
-   新BSD许可证 (3-clause) 2020-2021 Digital Bazaar - 初始实施.

## 常见问题

### @digitalcredentials/jsonld-signatures 是什么？

JavaScript中JSON-LD的链接数据签名规范的实施\.

### 如何安装 @digitalcredentials/jsonld-signatures？

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

### @digitalcredentials/jsonld-signatures 支持 TypeScript 吗？

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

### @digitalcredentials/jsonld-signatures 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

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

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

### @digitalcredentials/jsonld-signatures 可以商用吗？

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

### @digitalcredentials/jsonld-signatures 的下载量有多少？

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

### @digitalcredentials/jsonld-signatures 还在维护吗？

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

