据我了解,当您使用
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 [email protected] --signature fulcio.sig file.txt
验证时,验证者传递给 cosign:
这堆数据告诉 cosign 如何在 Rekor 中定位记录?
你的问题得到答案了吗?
我正在看 cosign 并且也有同样的问题:)
我可以看到,使用下面的命令签署二进制/blob 时 cosign 符号-blob --bundle cosign.bundle
cosign.bundle 确实包含一个 logIndex,根据 API 规范https://www.sigstore.dev/swagger/#/ 可用于从 Rektor 检索记录。
但是,当使用 --output-certificate 和 --output-signature 选项签署二进制文件,然后将它们与工件一起发布时,logIndex 不再可用,所以我想知道 cosign verify 如何能够检索 rekor 包并验证综合时间在证书有效期内