sigstore/protobuf-specs

GitHub: sigstore/protobuf-specs

定义 Sigstore 软件供应链安全体系中各组件间通信的 Protocol Buffer 消息格式规范,支持多语言代码生成。

Stars: 34 | Forks: 50

# protobuf-specs 本仓库包含用于 Sigstore 消息的 protobuf 规范。 ## Protobuf 如果您更改了 protobuf 定义,则需要通过对已更改的 `.proto` 文件运行 protocol buffer 编译器来重新生成代码。 您需要安装 [Docker](https://docs.docker.com/get-docker/) 并将其配置为 [以非 root 用户运行](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) 才能生成 protobuf 存根。然后运行, ``` $ make all ``` 以在 `gen/` 下生成 Go 和 Python 文件。 ## 添加新算法 随着 NIST 对后量子密码学签名算法的标准化, ML-DSA (FIPS 204, Dilithium) 和 SLH-DSA (FIPS 205, SPHINCS+),以及正在进行的 标准化 [另一组算法](https://csrc.nist.gov/projects/pqc-dig-sig) 的工作, Sigstore 将接受额外的算法来签名工件和验证材料。 要添加新算法,您必须首先通过更新 [算法注册表规范](https://github.com/sigstore/architecture-docs/blob/main/algorithm-registry.md) 与社区达成共识。 标记客户端维护者以确保其生态系统能够支持新算法。 算法不必被所有客户端支持,但您不应提议 尚未广泛标准化的算法。算法必须在 Go 中受支持,因为 Fulcio 和 Rekor 需要更新以支持签名验证,并且 Go 库应是 知名且经过审查的,而不是基于带有 Go 绑定的 C 实现。 更新规范后,更新 [`PublicKeyDetails`](https://github.com/sigstore/protobuf-specs/blob/c30eb14cece57d88c08579197ecfdb57a5f1aba5/protos/sigstore_common.proto#L63) 以包含新的签名算法标识符。如果该算法还使用新的哈希算法,请更新 [`HashAlgorithm`](https://github.com/sigstore/protobuf-specs/blob/c30eb14cece57d88c08579197ecfdb57a5f1aba5/protos/sigstore_common.proto#L37)。 ## Service Builder 本项目将容器发布到 [`ghcr.io/sigstore/protobuf-specs-service-builder`](https://github.com/sigstore/protobuf-specs/pkgs/container/protobuf-specs-service-builder) 其中包含所有必要的 protoc 工具、.proto 文件和 .proto 依赖项,用于为 sigstore 服务(如 rekor 和 fulcio)生成服务 定义。此容器不打算供任何其他 人使用,将不提供任何请求或支持。 ## 弃用通知 - 自 2025 年 7 月 17 日起:gen/jsonschema/schemas/ 中的 jsonschema 生成文件已从本仓库中移除。
标签:API 规范, CVE, DevSecOps, Docker, FIPS 204, FIPS 205, Go, JSONLines, ML-DSA, Protocol Buffers, Python, Ruby工具, Sigstore, SLH-DSA, 上游代理, 互操作性, 代码生成, 加密算法, 后量子密码学, 安全防御评估, 工件验证, 数字签名, 数据格式, 无后门, 日志审计, 渗透测试工具, 请求拦截, 软件供应链安全, 远程方法调用, 逆向工具, 零信任