FEATURED · 精选文章

test-sgx 输出结果怎么读?SGX-hardware 项目 3 种典型场景结果清单

发布时间 / 2026/8/27 15:25:45
来源 / 创域科博编辑部
栏目 / 资讯中心
test-sgx 输出结果怎么读?SGX-hardware 项目 3 种典型场景结果清单 test-sgx 输出结果怎么读SGX-hardware 项目 3 种典型场景结果清单【免费下载链接】SGX-hardwareThis is a list of hardware which supports Intel SGX - Software Guard Extensions.项目地址: https://gitcode.com/gh_mirrors/sg/SGX-hardwareSGX-hardware 项目维护了一份支持 Intel SGX软件保护扩展的硬件清单并内置了一个命令行检测工具 test-sgx——它是快速判断你的 CPU 是否启用 SGX 的最简方法。运行后屏幕上刷出十几行英文输出test-sgx 输出结果怎么读本文把 3 种典型场景逐一拆解每种都给出关键行和一句话结论读完即可自行判断。快速对照test-sgx 三种输出结果速查表场景关键输出行一句话结论① 支持但未启用Supports SGX且SGX1: 0、SGX2: 0CPU 支持BIOS 没打开需进 BIOS 开启② 不支持Does not support SGXCPU 不支持或厂商已停用 SGX③ 已完全启用Supports SGX且SGX1或SGX2为1可以开始 SGX 开发判定公式只有一条同时满足Supports SGX与SGX[1|2] leaf instructions: 1SGX 才真正可用。这也是官方 README 中给出的结论。场景① CPU 支持 SGX但 BIOS 未启用这是最常见的半吊子状态典型输出如下Supports SGX SGX Launch Configuration (SGX_LC): 1 SGX Attestation Services (SGX_KEYS): 0 SGX1 leaf instructions (SGX1): 0 SGX2 leaf instructions (SGX2): 0怎么读Supports SGXCPU 本身带 SGX 硬件功能 ✅SGX_LC: 1启动配置位已就绪但SGX1和SGX2都是0指令被 BIOS 全局关掉了 ❌怎么办重启进 BIOS找到 SGX 相关选项有的主板藏在 CPU 功能或安全设置里开启它。部分旧主板需要先更新 BIOS 才出现该选项——SGX-hardware 的 README 中专门列了一张主板 所需 BIOS 版本清单可对照自己的主板型号查看。场景② CPU 不支持 SGX或功能被厂商停用Does not support SGX一行输出直接下结论。常见于两类机器2015 年之前的老 CPU本身没有 SGX 硬件云服务器/虚拟化实例CPU 型号虽支持 SGX但云厂商在 BIOS 层关闭了该功能如部分公有云的通用实例。⚠️特别提醒如果你买笔记本前想确认 SGX 可用性注意 SGX-hardware 清单中有一类CPU 支持 SGX 但主板/BIOS 不提供该设置的设备例如 MacBook Pro 各代、Surface Book 2、Razer Blade 2016官方明确标注Do NOT buy for SGX development选型时务必避开。场景③ SGX1 可用且已启用完整输出详解当输出长达几十行且SGX1: 1时说明 SGX 完全就绪。核心字段速读输出字段含义Supports SGX/SGX1 leaf instructions (SGX1): 1SGX 指令可用这是最重要的两行SGX2 leaf instructions (SGX2): 1支持新一代 SGX2 接口有则更好The maximum supported enclave size ... is 2^36最大飞地Enclave大小有此输出也是 SGX 正常工作的旁证EPC[0]: ... size: 0000000001c00000EPCSGX 专用加密内存容量此处约 28MBIA32_FEATURE_CONTROL.SGX_GLOBAL_ENABLE[bit 18]: 1BIOS 全局使能位已打开 ✅...ATTRIBUTES[MODE64BIT]: 1飞地可运行 64 位代码...ATTRIBUTES[PROVISIONKEY]: 1支持密钥供应可用于远程认证结论你已可以调用 CPU 的 SGX 指令。但要真正创建并运行飞地还需要安装 Intel 官方 SGX 驱动及 Launch Enclave——test-sgx 只负责体检不负责治疗。两个容易踩的坑 ⚠️虚拟机结果可能失真如果你在 VM 中运行 test-sgx宿主机的 CPU 明明支持 SGX但 hypervisor 不转发该能力时工具会报不支持。它反映的是当前这台系统而不是 CPU 型号的全部潜力。Linux 下 MSR 读取需要 root 权限rdmsr.c模块通过读取/dev/cpu/0/msr获取 SGX 寄存器信息普通用户运行时这部分会静默跳过不影响前三步的判断。3 分钟编译运行 test-sgx工具由test-sgx.c主程序、cpuid.cCPUID 检测、rdmsr.cMSR 读取三个源文件组成Linux 下一行命令即可编译gcc -Wl,--no-as-needed -Wall -Wextra -Wpedantic -masmintel -o test-sgx -lcap cpuid.c rdmsr.c test-sgx.c ./test-sgxWindowsVS 2022 x64 原生命令行使用cl test-sgx.c cpuid.c rdmsr.cmacOS 用 Clang 编译命令详见项目 README 的 Compile test-sgx 章节。若 Linux 下报sys/capability.h: No such file or directory执行sudo apt-get install libcap-dev补上依赖即可。总结30 秒判断清单 ✅有Supports SGX吗没有 → 走场景②机器不适合 SGX 开发SGX1或SGX2有1吗没有 → 走场景①去 BIOS 里找 SGX 开关两者都满足 → SGX 已启用安装官方驱动后即可开始开发按这三步读 test-sgx 输出任何一行结果都能在 10 秒内定位问题所在。【免费下载链接】SGX-hardwareThis is a list of hardware which supports Intel SGX - Software Guard Extensions.项目地址: https://gitcode.com/gh_mirrors/sg/SGX-hardware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻