验证时cosign如何在Rekor中查找记录?以Blob签名为例
Cosign验证时如何定位Rekor中的签名记录?
我了解到用Cosign对镜像/二进制文件签名时,会在Rekor中生成一条记录,用来证明签名发生在特定时间。我想知道:验证时Cosign是如何在Rekor中定位这条记录的?
以Blob签名为例:
签名时使用的命令:
cosign sign-blob file.txt --output-certificate fulcio.crt.base64 --output-signature fulcio.sig
该操作会引导完成OIDC认证,并输出签名所用的证书及签名值。
验证阶段使用的命令:
cosign verify-blob --certificate fulcio.crt.base64 --certificate-oidc-issuer=https://accounts.google.com --certificate-identity xxx@gmail.com --signature fulcio.sig file.txt
验证时传入的信息包括:
- 文件
- 签名值
- Blob签名所用证书
- 预期的签名身份
- OIDC提供商
请问这些数据中的哪一项能让Cosign定位到Rekor中的记录?
Cosign是通过**签名所用的证书(即传入的fulcio.crt.base64)**来定位Rekor中的记录的。
具体来说,Rekor会将签名记录与签发的Fulcio证书绑定存储,并且以证书的唯一标识(比如证书的哈希值)作为索引。验证时,Cosign会提取传入证书的标识信息,以此为查询条件在Rekor中匹配对应的签名记录,进而确认签名的时间戳和完整性。
需要说明的是,文件、签名值、预期身份和OIDC提供商这些信息主要用于验证签名本身的有效性(比如确认签名是对应文件的、身份符合预期),但定位Rekor记录的核心依据是签名证书——因为每个Fulcio签发的证书都是唯一的,且与Rekor中的单条记录一一对应。
内容的提问来源于stack exchange,提问作者YoavKlein
相关产品推荐
相关产品推荐

