×

POST /v1/signatureintegrations

集成 ID 不应设置。返回已填充 ID 的签名集成。

描述

参数

主体参数

名称 描述 必填 默认值 模式

主体

StorageSignatureIntegration

X

内容类型

  • application/json

响应

表 1. HTTP 响应代码
代码 消息 数据类型

200

成功的响应。

StorageSignatureIntegration

0

意外的错误响应。

GooglerpcStatus

示例

公共对象引用

CosignPublicKeyVerificationPublicKey

字段名称 必填 可空 类型 描述 格式

名称

字符串

publicKeyPemEnc (公钥PEM编码)

字符串

GooglerpcStatus

字段名称 必填 可空 类型 描述 格式

代码

整数

int32

消息

字符串

详情

ProtobufAny 列表 ProtobufAny

ProtobufAny

Any 包含任意序列化的协议缓冲区消息以及描述序列化消息类型的 URL。

Protobuf 库提供支持,以实用函数或 Any 类型的附加生成方法的形式打包/解包 Any 值。

示例 1:在 C++ 中打包和解包消息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

示例 2:在 Java 中打包和解包消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

Protobuf 库提供的打包方法默认使用“type.googleapis.com/full.type.name”作为类型 URL,解包方法仅使用类型 URL 中最后一个“/”后的完全限定类型名称,例如“foo.bar.com/x/y.z”将产生类型名称“y.z”。

JSON 表示

Any 值的 JSON 表示使用反序列化的嵌入式消息的常规表示,并添加一个包含类型 URL 的附加字段@type。示例

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

如果嵌入式消息类型是众所周知的并且具有自定义 JSON 表示,则该表示将被嵌入,并添加一个字段value,该字段除了@type字段外还包含自定义 JSON。示例(对于消息 [google.protobuf.Duration][])

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
字段名称 必填 可空 类型 描述 格式

@type

字符串

唯一标识序列化协议缓冲区消息类型的 URL/资源名称。此字符串必须至少包含一个“/”字符。URL 路径的最后一个段必须表示类型的完全限定名称(如path/google.protobuf.Duration)。名称应采用规范形式(例如,不接受前导“.”)。在实践中,团队通常会将其预期在 Any 上下文中使用的所有类型预编译到二进制文件中。但是,对于使用方案httphttps或无方案的 URL,可以选择设置一个类型服务器,该服务器将类型 URL 映射到消息定义,如下所示:* 如果没有提供方案,则假定为https。* 对 URL 的 HTTP GET 必须产生二进制格式的 [google.protobuf.Type][] 值,或产生错误。* 应用程序允许根据 URL 缓存查找结果,或将其预编译到二进制文件中以避免任何查找。因此,需要在类型更改时保留二进制兼容性。(使用版本化的类型名称来管理重大更改。)注意:此功能当前在官方 protobuf 版本中不可用,并且不用于以 type.googleapis.com 开头的类型 URL。截至 2023 年 5 月,没有广泛使用的类型服务器实现,也没有计划实现一个。可能使用httphttps(或空方案)以外的方案以及特定于实现的语义。

StorageCosignCertificateVerification

包含用于验证附加到 cosign 签名的证书的所有验证数据。如果仅给出证书,则将假定 Fulcio 受信任的根链并对其进行验证。如果仅给出链,则此链将用于验证 Fulcio 受信任的根链。如果没有给出证书或链,则将假定 Fulcio 受信任的根链并对其进行验证。

字段名称 必填 可空 类型 描述 格式

certificatePemEnc (证书PEM编码)

字符串

用于验证的 PEM 编码证书。

certificateChainPemEnc (证书链PEM编码)

字符串

用于验证的 PEM 编码证书链。

certificateOidcIssuer (证书OIDC颁发者)

字符串

要验证的证书 OIDC 发行者。这支持遵循 RE2 语法的正则表达式:https://github.com/google/re2/wiki/Syntax。如果证书未指定 OIDC 发行者,则可以使用“.*”作为 OIDC 发行者。但是,建议根据规范使用与 Fulcio 兼容的证书:https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

certificateIdentity (证书标识)

字符串

要验证的证书标识。这支持遵循 RE2 语法的正则表达式:https://github.com/google/re2/wiki/Syntax。如果证书未指定标识,则可以使用“.*”作为标识。但是,建议根据规范使用与 Fulcio 兼容的证书:https://github.com/sigstore/fulcio/blob/main/docs/certificate-specification.md

StorageCosignPublicKeyVerification

字段名称 必填 可空 类型 描述 格式

公钥

CosignPublicKeyVerificationPublicKey 列表 CosignPublicKeyVerificationPublicKey

StorageSignatureIntegration

字段名称 必填 可空 类型 描述 格式

ID

字符串

名称

字符串

cosign

StorageCosignPublicKeyVerification

cosignCertificates (cosign证书)

StorageCosignCertificateVerification 列表 StorageCosignCertificateVerification