代码签名政策
谁为 amenbo 的发行版签名、它们如何构建,以及在哪里分发。
这个页面的存在,是为了让收到 amenbo 发行版的人能判断它是否真的来自我们。它说明了签什么、怎么构建、谁批准签名,以及二进制文件发布在哪里。
现在就能验证的
所有平台的发行版都适用这两项检查。
- GitHub 构建证明 —— 它记录了哪个仓库、哪个提交、哪个工作流产出了某个构件。任何人都可以用
gh attestation verify检查。 - 更新用的 minisign 签名 —— 应用自我更新时,会验证下载内容的签名。
构件
| 构件 | 内容 |
|---|---|
amenbo-app-windows-x64-setup.exe | GUI 应用的安装程序(NSIS)。它内含 CLI,并把它加入 PATH |
amenbo-windows-amd64.exe | 独立的 CLI 二进制文件 |
Authenticode 签名(尚未实施)
Windows 构件目前不带 Authenticode 签名。引入签名时,将按以下条款进行。
- 只有由 CI 构建的构件才会送去签名。在开发者自己机器上构建的东西一律不签。
- 每一次签名请求都由维护者明确批准。不会存在无人值守就把构建签名并发出去的路径。
- 已签名的二进制文件带有产品名称和版本的文件元数据属性。
- 更新用的 minisign 签名在施加 Authenticode 签名之前计算,因此两者对同一个文件都成立。
它们如何构建
- 源码位于公开仓库 ShiroDoromoto/amenbo,采用 Apache-2.0 许可。其中不含任何专有组件。
- 发行版由该仓库源码经 GitHub Actions 的发布工作流(
.github/workflows/release.yml)构建。在开发者自己机器上构建的东西绝不分发。
团队与角色
amenbo 由一个人维护,下面所有角色都由他担任。
| 角色 | 人 |
|---|---|
| Author(构建、请求签名) | ShiroDoromoto |
| Reviewer(审查变更) | ShiroDoromoto |
| Approver(批准签名请求) | ShiroDoromoto |
参与签名的每个人,都在签名平台和源码仓库上开启了多因素认证。
发行版在哪里分发
发行版只发布在两个地方。
- GitHub Releases:https://github.com/ShiroDoromoto/amenbo/releases
- 本站的开始使用页面,它链接到上述发行版。
隐私
签名不收集任何用户数据。amenbo 没有中心服务器,您的数据绝不离开您的机器;详见隐私。