Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

capsule-manager tdx模式下报错 #37

Open
PhantomCheese opened this issue Dec 2, 2024 · 3 comments
Open

capsule-manager tdx模式下报错 #37

PhantomCheese opened this issue Dec 2, 2024 · 3 comments

Comments

@PhantomCheese
Copy link

在TD虚拟机内部运行capsule-manager-tdx时产生如下报错,0x8错误码我看在tdx_attest.h定义的是指TDX_ATTEST_ERROR_QUOTE_FAILURE,tdx_attest.c的configfs_get_quote函数或是tdcall_get_quote_payload这个legacy函数会抛出这个错误,但我不知道具体什么原因导致的。我的系统版本是ubuntu24.04,容器内/dev/tdx_guest存在且pccs处于运行状态。

(base) root@tdx-guest:/home/admin# ./capsule_manager_grpc --tls_config.enable_tls false
OU, SecretFlow
CN, CapsuleManager
C, CN
ST, HZ
L, HZ
O, AntGroup
[2024-12-02 16:46:41.930] [info] [tdx_generator.cc:83] Start generating tdx report
thread 'main' panicked at bin/grpc-as/src/main.rs:108:6:
capsule_manager init error: Error { code: InternalErr, details: Some("runified_attestation_generate_auth_report err: "[Enforce fail at trustflow/attestation/generation/tdx/tdx_generator.cc:100] ret == tdx_attest_error_t::TDX_ATTEST_SUCCESS && p_quote_buf. tdx_att_get_quote err: 0x8\nStacktrace:\n#0 GenerateAttestationReport+0x76edb5da836e\n#1 trustflow_attestation_rs::generate_attestation_report::h7a4db7994aef8760+0x5e85edc8101a\n\0""), location: Some(ErrorLocation { line: 261, file: "capsule-manager/src/server.rs" }) }
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

@zhongtianq
Copy link
Collaborator

0x8这个报错通常是/dev/tdx_guest这个设备本身有问题,还没有进行到请求PCCS的阶段。

请确保是在TD虚拟机内部启动的我们的镜像,并且虚拟机本身的/dev/tdx_guest是存在且正常运行的。
因为启动docker的时候加了-v /dev/tdx_guest:/dev/tdx_guest,所以如果你的虚拟机中本身没有这个设备,也会被创建一个空的tdx_guest文件。

可以在你的tdx虚拟机中确认环境,可以用https://github.com/intel/SGXDataCenterAttestationPrimitives/blob/main/QuoteGeneration/quote_wrapper/tdx_attest/test_tdx_attest.c 这个intel的官方示例测试环境。

@PhantomCheese
Copy link
Author

您好,我在TD虚拟机中运行官方示例是可以正常生成TD quote的

@zhongtianq
Copy link
Collaborator

您好,我在TD虚拟机中运行官方示例是可以正常生成TD quote的

可以在容器中运行一下你说的官方示例,看看/dev/tdx_guest有没有正确挂载。我们的代码里面也是调用的官方接口来生成quote的。 另外我们代码里面会把collateral也带上,需要请求PCCS,比官方示例多了一个步骤。

请求PCCS这一步官方示例是在验证阶段走的,可以完整的走完验证阶段看看PCCS是否正常。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants