@digitalcredentials/jsonld-signatures

中文文档
12.0.1发布于 2024/09/18BSD-3-ClauseCommonJS近 30 天下载 9.1万

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

中文使用文档
文档目录11 节
  1. 目录
  2. 背景情况
  3. 与可核证全权证书的关系
  4. 警卫
  5. 文档加载器
  6. 安装
  7. 使用量
  8. 反应本地使用
  9. 节点.js和浏览器使用
  10. 贡献
  11. 许可证

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

NPM Version

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

目录

(从 jsonld-signatures 页:1 以提供 TypeScript, Jest, 和反应原生相容性。 )

背景情况

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

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

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

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

与可核证全权证书的关系

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

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

警卫

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

文档加载器

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

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

如果您需要装入其他文档, 您需要提供 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:

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

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

贡献

见 贡献文件来啊!

公关接受.

请遵照 标准读取 规格.

许可证

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

版本与发布记录

@digitalcredentials/jsonld-signatures 共发布 10 个版本,首次发布于 2021/05/20;过去 12 个月发布了 0 个版本。

版本发布日期距今
12.0.1latest2024/09/182 年前
12.0.02024/09/182 年前
11.0.02024/08/042 年前
10.1.02024/08/042 年前
10.0.12024/02/082 年前
10.0.02024/02/082 年前

关于 @digitalcredentials/jsonld-signatures 的常见问题

@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 和提交记录判断。