【发布时间】:2020-04-01 02:56:17
【问题描述】:
我编写了一个 UEFI Shell 应用程序来试验 UEFI Authenticated 变量。我可以创建一个 Authenticated 变量,然后通过使用相同的私钥签名来更新它。但是,稍后尝试删除它时,我收到了安全违规错误。
通过 SecurityPkg\Library\AuthVariableLib\AuthService.c 中的 EDKII 代码,我可以看到要删除经过身份验证的变量,UserPhysicalPresent() 函数必须返回 TRUE。 UserPhysicalPresent() 的默认实现在 PlatformSecureLibNull.c 中,总是返回 TRUE,但显然主要 OEM 的几款真机确实实现了该功能,删除总是失败。
删除从 UEFI Shell 或操作系统中创建的 UEFI 认证变量的正确方法是什么?如何满足用户的物理存在需求?
【问题讨论】:
标签: uefi