1. 目的(Purpose)
验证 TPM Endorsement Key (EK) certificate:
- 是否有效
- 是否属于正确厂商
- 是否可构建完整信任链
- 是否能验证到对应 Root CA
2. 适用范围(Scope)
- TPM 2.0(Infineon OPTIGA TPM)
3. 前置条件(Prerequisites)
系统已识别 TPM 设备
安装工具:
网络可访问(用于下载 CA,可选)
4. 操作步骤(Procedure)
Step 1:获取 EK Certificate
1
| tpm2_getekcertificate > ekcert.der
|
说明:
Step 2:转换为 PEM 格式
1
| openssl x509 -inform der -in ekcert.der -out ekcert.pem
|
Step 3:确认 EK cert 有效性
期望:
1
| openssl x509 -inform der -in ekcert.der -noout -issuer
|
注意:subject= 为空是允许的(TPM EK cert 规范允许)。
1
| openssl x509 -text -noout -in ekcert.pem | grep "CA Issuers"
|
记录 URL,例如:
转换:
1
| openssl x509 -inform der -in inter.crt -out inter.pem
|
Step 6:提取 Root CA URL
1
| openssl x509 -text -noout -in inter.pem | grep "CA Issuers"
|
记录 URL,例如:
Step 7:下载 Root CA
转换:
1
| openssl x509 -inform der -in ca.crt -out ca.pem
|
Step 8:验证证书链(核心步骤)
1 2 3 4
| openssl verify \ -CAfile ca.pem \ -untrusted inter.pem \ ekcert.pem
|
5. 期望结果(Expected Result)
6. 验证标准(Validation Criteria)
| 项目 |
要求 |
| EK cert 是否可解析 |
允许 |
| 证书格式 |
X.509 v3 |
| Issuer |
xxxx CA |
| AIA URL |
存在 |
| Intermediate CA |
可下载 |
| Root CA |
可下载 |
| Chain Validation |
PASS |
| Subject 为空 |
允许 |
7. 常见问题(Troubleshooting)
问题 1:乱码输出
原因:
解决:
问题 2:验证失败(error 20)
原因:
解决:
问题 3:subject 为空
原因:
不影响验证。
问题 4:openssl 无法解析
原因:
解决:
问题 5:tpm2_getekcertificate 输出异常
解决:
1
| tpm2_getekcertificate > ekcert.der
|
或:
1
| tpm2_getekcertificate --offline > ekcert.der
|
8. 最终判定(Pass / Fail)
PASS 条件
- EK cert 有效
- CA chain 完整
- 可验证到 Infineon Root CA
- 无 openssl 验证错误
FAIL 条件
- 证书不可解析
- Chain 不完整
- Root CA 不匹配
- openssl verify 失败