2.6. 创建 initdata
您可以创建一个 initdata.toml
文件,并将其转换为 gzip 格式的 Base64 编码字符串。
对于特定 pod,您可以将此字符串指定为对等 pod 配置映射中的 INITDATA
值、全局配置或作为注解。
然后,您从 initdata.toml
文件中为红帽构建的 Trust Value Provider Service (RVPS)配置映射生成平台配置寄存器(PCR) 8 哈希。
红帽构建的 Trustee 使用 RVPS 验证机密工作负载发送的测试证据。RVPS 包含可信引用值,如文件哈希,与测试请求中包含的 PCR 测量进行比较。这些哈希不是由红帽构建的 Trustee 生成。
如果在 kbs-config
配置映射中配置 insecure_http = true
,您必须删除 kbs_cert
设置。
流程
运行以下命令,获取红帽构建的 Trustee URL:
TRUSTEE_URL=$(oc get route kbs-service \ -n trustee-operator-system -o jsonpath='{.spec.host}') \ && echo $TRUSTEE_URL
$ TRUSTEE_URL=$(oc get route kbs-service \ -n trustee-operator-system -o jsonpath='{.spec.host}') \ && echo $TRUSTEE_URL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
initdata.toml
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<trustee-url
> : 指定红帽构建的 Trustee URL。如果您使用insecure_http
配置红帽构建的 Trustee 用于测试目的,请使用 HTTP。否则,请使用 HTTPS。对于生产环境系统,请避免使用insecure_http
,除非您将环境配置为外部处理 TLS,例如使用代理。 -
<kbs_certificate
> : 为 attestation 代理指定 Base64 编码的 TLS 证书。 -
kbs_cert
: 如果您在kbs-config
配置映射中配置insecure_http = true
,请删除kbs_cert
设置。
-
运行以下命令,将
initdata.toml
文件转换为 gzip 格式的 Base64 编码字符串:cat initdata.toml | gzip | base64 -w0 > initdata.txt
$ cat initdata.toml | gzip | base64 -w0 > initdata.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为对等 pod 配置映射或对等 pod 清单记录此字符串。
运行以下命令,计算
initdata.toml
文件的 SHA-256 哈希,并将其值分配给hash
变量:hash=$(sha256sum initdata.toml | cut -d' ' -f1)
$ hash=$(sha256sum initdata.toml | cut -d' ' -f1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将 32 字节 0s 分配给
initial_pcr
变量:initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
$ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,计算哈希和
initial_pcr
的 SHA-256哈希
,并将其值分配给PCR8_HASH
变量:PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
$ PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记录下
PCR8_HASH
值的.运行以下命令,计算initdata.toml
文件的 SHA-256 哈希,并将其值分配给hash
变量:hash=$(sha256sum initdata.toml | cut -d' ' -f1)
$ hash=$(sha256sum initdata.toml | cut -d' ' -f1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将 32 字节 0s 分配给
initial_pcr
变量:initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
$ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,计算哈希和
initial_pcr
的 SHA-256哈希
,并将其值分配给PCR8_HASH
变量:PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
$ PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 记录 RVPS 配置映射的
PCR8_HASH
值。