验证客户端二进制文件¶
Knative 发布了许多客户端(命令行)二进制文件,它们安装并运行在您的本地机器上。本页面描述了如何验证您下载的二进制文件与 Knative 版本发布的文件匹配。虽然其中许多步骤可能由 brew 等包安装程序处理,但如果您不确定这些二进制文件的来源,您可以随时手动执行这些步骤。
验证二进制文件签名¶
所有平台¶
我们从 1.9 版本开始的发布都使用 cosign 签名。您可以使用以下步骤验证我们的二进制文件。
- 从发布页面下载您需要的文件以及
checksums.txt、checksum.txt.pem和checksums.txt.sig文件# this example verifies the 1.10.0 kn cli from the knative/client repository wget https://github.com/knative/client/releases/download/knative-v1.10.0/checksums.txt wget https://github.com/knative/client/releases/download/knative-v1.10.0/kn-darwin-amd64 wget https://github.com/knative/client/releases/download/knative-v1.10.0/checksums.txt.sig wget https://github.com/knative/client/releases/download/knative-v1.10.0/checksums.txt.pem - 验证签名
cosign verify-blob \ --certificate-identity=signer@knative-releases.iam.gserviceaccount.com \ --certificate-oidc-issuer=https://# \ --cert checksums.txt.pem \ --signature checksums.txt.sig \ checksums.txt - 如果签名有效,您可以进一步验证 SHA256 和下载的二进制文件是否匹配
sha256sum --ignore-missing -c checksums.txt
注意
Knative 镜像以 KEYLESS 模式签名。要了解更多关于无密钥签名的信息,请参阅 无密钥签名 我们的发布签名身份(Subject)是 signer@knative-releases.iam.gserviceaccount.com,颁发者(Issuer)是 https://#
Apple macOS¶
除了使用 cosign 签名我们的二进制文件,我们还 公证 我们的 macOS 二进制文件。您可以使用 codesign 工具来验证我们从 1.9 版本开始的二进制文件。您应该会看到类似以下的输出。预期的 TeamIdentifier 是 7R64489VHL
codesign --verify -d --verbose=2 ~/Downloads/kn-quickstart-darwin-amd64
Executable=/Users/REDACTED/Downloads/kn-quickstart-darwin-amd64
Identifier=kn-quickstart-darwin-amd64
...
Authority=Developer ID Application: Mahamed Ali (7R64489VHL)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=3 Oct 2022 at 22:50:07
...
TeamIdentifier=7R64489VHL