从代码,到一份可信的插件。
发布流程
- 提交发布者申请和反向域名命名空间。
- 绑定身份验证器,登记 P-256 公钥并签署一次性持钥挑战。
- 建立插件资料,确保 pluginId 位于获批命名空间之下。
- 使用 plugins-v1 SDK 生成并签名 ZIP。
- 上传版本,机器校验通过后进入人工审核。
- 管理员核对固定哈希后批准,发布任务原子更新版本与 TUF 元数据。
包与版本约束
仅支持稳定三段版本,例如 1.2.3。ZIP 最多 10 MiB,解压总量最多 32 MiB,最多 256 个普通文件,单文件最多 8 MiB。运行入口为 JavaScript ES2020。当前兼容包不接受任意 HTML、SVG、动态库或嵌套归档。
必需文件
manifest.json
integrity.json
publisher.jwk
signature.jws
scripts/main.js
widgets/<widget>/config.schema.json
widgets/<widget>/editor.json
README.md
LICENSE.txt
签名与密钥
公钥采用 EC / P-256 JWK。签名为 JWS Compact + ES256,覆盖 integrity.json 原始字节;作者私钥始终留在本地。网页的持钥挑战使用同一公钥,以 SHA-256 和 IEEE P1363 格式签名。
修订与撤销
已提交版本不能用不同文件覆盖。修订请增加版本号。常规停用密钥仅阻止后续提交;密钥泄露请提交安全报告,由平台审核并撤销相关版本分发。