# @absolutejs/e2ee 中文文档

规范地址：https://npmcn.com/package/%40absolutejs/e2ee/

版本：0\.8\.0
npm 元数据更新时间：2026-08-26T23:39:51.754Z
中文译文更新时间：2026-11-06T13:35:59.687Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：160 kB，22 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-08-26T09:02:44.515Z
- 最新版本发布：2026-08-26T23:39:51.571Z
- 近 30 天下载量：3112（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：8（近 12 个月 8 个）

## 中文简介

供货商中立的E2EE合同、安全模式、保证清单和绝对JS的合规工具.

## 安装

```sh
npm install @absolutejs/e2ee
```

也可以使用：`pnpm add @absolutejs/e2ee`、`yarn add @absolutejs/e2ee`、`bun add @absolutejs/e2ee`

## README

# `@absolutejs/e2ee`

提供商中立的E2EE合同、明确的安全模式、保证单, 绝对JS的提供者选择和符合性工具.

本套件是应用与执行之间稳定的接合 [`e2ee-providers`](https://github.com/absolutejs/e2ee-providers) 仓库。 这个 已经 **没有** 发明密码学,默默地选择一个提供者,或者声称它不同于 供应商有同等的安全.

> 这还早着呢 `0.x` 释放。 核心软件包本身并不加密数据, 并且在其公布的保证和审计之前,不批准供应商生产 大门通过.

## 安装

```bash
bun add @absolutejs/e2ee
```

## 明确选择提供者

```ts
import { selectE2EEProvider } from "@absolutejs/e2ee";

const selected = selectE2EEProvider(providers, {
  minimumAssurance: "reviewed",
  operatorCanDecrypt: false,
  protocols: ["MLS-1.0"],
  roles: ["messaging"],
  runtime: "browser",
  securityMode: "strict-e2ee",
});

console.log(selected.manifest.packageName);
```

选择失败, 并解释为什么每个提供者被拒绝 。 应用程序 当供应商需要确定性部署而不是接受时,可贴上其身份证明 最高的兼容性保证水平.

## 明确模式

-   `strict-e2ee`: 只有经核实的参与者设备才能解密对话 历史 失去所有经过核实的装置和出口可能永远失去历史.
-   `managed-recovery`:明显指明的追回当局可授权 替换丢失的设备叶子的新验证设备。 它从来不是静默的, 并且权威不会通过此API获得序列化的MLS状态.

敏感代理交换额外声明一个值是否为 `tool-confined`, (中文(简体) ), `endpoint-visible`,或 `model-visible`。 。 。 . `tool-confined` 这是 建议默认.

## 范围

这个 `0.2.x` 线条添加 MLS 引擎周围所需的应用边界 : 设备证书、密钥包、成员变更、交付、耐用 比较和设定状态, 和明确的恢复权限。 这些都是合同, 非主机服务. 实施仍以供应商包包形式进行.

MLS 故意不定义应用程序的认证服务或 送货服务. 绝对JS 使这些依赖性清晰可见 如此加密 发动机不能沉默地成为身份权威、运输或恢复 权力。 严格 E2EE 从未收到过 `RecoveryAuthority`; 有管理的回收 必须识别和配置 `RecoveryGrantVerifier` 当然 恢复后 状态损失遵循RFC 9750的再接再动模式:将短期赠款绑入 替换证书,添加, 并去除丢失的叶子在一个承诺.

正在改变的模式不是会话突变 。 打电话 `planSecurityModeTransition()`,在请求中创建新对话 模式,重新添加已核实的设备,并明显地取消先前的对话. 新的对话只从创建者开始; 添加所有其他设备通过 `addMembers()` 因此它的欢迎信息不能不小心被丢弃. 加入欢迎需要 `expectedSecurityMode`和返回的会话 曝光由提供者状态认证的模式 。 呼叫者必须拒绝任何 严格/管理不匹配,而不是信任交付元数据.

公共类型Script合同使用类型别名而不是接口 所以结合, 交叉点,供应商的能力构成保持明确.

见 [警卫](https://npmcn.com/package/%40absolutejs/e2ee/SECURITY.md) 在依赖此软件包保护数据之前.

## 版本约束的认证

供货商能力要求和供货商认证是分开的。 认证 报告绑定提供者的ID、软件包名称、准确的软件包版本、运行时间、套件, 设想方案、执行身份、病媒来源和证据摘要. `checkE2EECertification()` 拒绝过时的报告、再次发布的报告或 运行时间 和丢失的保单索赔.

一个 `independent-audit` c. 索赔要求 文摘,准确的软件包/版本范围,审计员身份,未来有效性 关键或高结论。 部署可以设定 `trustedAuditorIds`;图书馆不假装 提供者的 自我声明证明审查者的独立性。 任何提供者发布或范围 引擎更改需要新的审计证据.

这些要求有意区分共同的一致、已知的答案载体和 交叉执行测试。 传递 MLS 工作组矢量不通过 本身证明了应用程序的互操作性: RFC 9750 叶子认证服务, 交付服务、身份和应用程序构成部署的选择.

## 许可证

阿帕奇 - 2.0

## 常见问题

### @absolutejs/e2ee 是什么？

供货商中立的E2EE合同、安全模式、保证清单和绝对JS的合规工具\.

### 如何安装 @absolutejs/e2ee？

在项目目录运行 npm install @absolutejs/e2ee，或使用 pnpm add / yarn add / bun add。

### @absolutejs/e2ee 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @absolutejs/e2ee 支持 ESM 还是 CommonJS？

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

### @absolutejs/e2ee 可以商用吗？

@absolutejs/e2ee 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @absolutejs/e2ee 的下载量有多少？

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

### @absolutejs/e2ee 还在维护吗？

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

