License 概念
License(许可证)是 foren.dev 授权体系的核心对象。本页用浅显语言解释它的构成与生命周期。
一句话定义
License 是发给取证实验室或取证员的"使用凭证"。凭证上写明:可以激活多少台设备、可以使用哪些功能、什么时候到期。
一个 License 由什么组成
| 字段 | 含义 |
|---|---|
| --- | --- |
license_key | License 主键,形如 COF-20260521-CC30C5 |
holder | 持证人(单位或姓名) |
plan | 所属方案(team / enterprise / ...) |
product | 适用产品,Soft- CoForen |
features | 启用的功能列表(case_map、file_upload 等) |
max_members / max_cases | 团队人数 / 案件数上限 |
issued_at / expires_at | 签发 / 到期时间 |
Plan(方案)
Plan 是一组预定义的配置,决定 license 的能力上限:
| Plan | 适用 |
|---|---|
| --- | --- |
team | 取证团队 6 人以下、案件 < 50 |
enterprise | 大型实验室、需要全部能力 |
| 自定义 | 管理员可在后台创建任意 plan |
Plan 是 license 的"模板"。一个 license 总是引用某个 plan。
Activation(激活)
激活是一台具体设备"申请加入 license"的过程:
- 设备生成一个唯一的
machine_fingerprint(SHA-256) - 设备凭 license_key + activation_code 调
/license/api/coforen/activate/ - 服务器返回签名后的 license payload
- 设备本地缓存 license,离线时也能用
一台 license 可激活多台设备(数量由 plan 的 max_members / max_cases 决定)。
Grace Period(宽限期)
License 到期后不会立刻失效,而是进入宽限期:
- 默认 7 天
- 在宽限期内 license 仍然有效,客户端校验通过
- 宽限期结束仍未续期,则 license 失效
这一设计给客户续费缓冲时间,避免因网络/账单问题突然中断服务。
生命周期
创建 激活 到期 宽限结束
│ │ │ │
▼ ▼ ▼ ▼
────▶ ACTIVE ────▶ EXPIRING ────────▶ IN_GRACE ─────────▶ EXPIRED
(剩余 < 7 天) (到期后 7 天)
↑
POST /renew/
续期回 ACTIVE
License 的三种状态
| 状态 | 含义 |
|---|---|
| --- | --- |
active | 有效 |
expired | 已过期(超过宽限期) |
revoked | 被管理员吊销 |
常见问题
License 能跨产品使用吗?
不能。一个 license 绑定到一个具体 product(如 CoForen)。如果需要为多个产品授权,请使用 授权令牌 或创建多个 license。
License key 泄露怎么办?
联系管理员吊销 license,并签发新的。已激活的设备需要重新激活。
离线还能校验吗?
可以。Live 许可证生成 时返回 v2 opaque license_text,客户端用本地公钥验证,完全离线。
下一步
- 授权令牌 — 多个产品授权给同一客户
- API 参考 · 激活端点 — 设备激活的请求格式
- API 参考 · 离线验证 — 离线 license 校验