Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

12.4. 使用 Registry API 访问镜像签名

OpenShift Container Registry 提供了一个 extensions 端点,供您编写和读取镜像签名。镜像签名通过容器镜像 registry API 存储在 OpenShift Container Platform 键值存储中。

注意

此端点是实验性的,不受上游容器镜像 registry 项目的支持。有关容器镜像 registry API 的常规信息,请参阅上游 API 文档

12.4.1. 通过 API 编写镜像签名

要向镜像添加新签名,您可以使用 HTTP PUT 方法将 JSON 有效负载发送到 extensions 端点:

PUT /extensions/v2/<namespace>/<name>/signatures/<digest>
$ curl -X PUT --data @signature.json http://<user>:<token>@<registry_endpoint>:5000/extensions/v2/<namespace>/<name>/signatures/sha256:<digest>

带有签名内容的 JSON 有效负载应具有以下结构:

{
  "version": 2,
  "type":    "atomic",
  "name":    "sha256:4028782c08eae4a8c9a28bf661c0a8d1c2fc8e19dbaae2b018b21011197e1484@cddeb7006d914716e2728000746a0b23",
  "content": "<cryptographic_signature>"
}

name 字段包含镜像签名的名称,该名称必须是唯一的,格式为 <digest>@<name><digest> 代表镜像名称,<name> 是签名的名称。签名名称长度必须为 32 个字符。<cryptgraph_signature> 必须遵循 容器/镜像库 中记录的规格。