问题标签 [op-tee]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
566 浏览

linux - OP-TEE的Linux调度器切换到安全世界后如何工作

我在 QEMU 上成功运行了 OP-TEE,并想弄清楚调度程序是如何工作的。我修改了源代码以在进入 Secure World 之前和返回 Normal World 之后获取变量jiffies 。这是一段代码。

这里tee_smc_call是发出SMC调用的 asm 函数。如果定时器中断导致离开 SW,我发现j将大于i 。我认为这意味着定时器中断在某处处理。如果我的推论不正确,请纠正我。

我转到链接https://lists.linaro.org/pipermail/tee-dev/2015-August/000160.htmlhttps://github.com/OP-TEE/optee_os/issues/332。OP-TEE 开发人员表示,一旦切换回 NW,定时器中断将由 NW 提供服务。
我阅读了 SW 的 IRQ 处理程序的源代码。我以为 SW 处理程序会找到 NW 的 VBAR 并将返回地址更改为 NW 处理程序。但是我发现没有这样的代码。
我在这个站点上阅读了一些帖子 TrustZone: Scheduling processes from the two worldsARM TrustZone - Behavior of the scheduler in Secure and Non-Secure OS。后者与我的相似,但答案并未说明 OP-TEE 实现中发生了什么。

所以我想知道在返回 NW 后再次处理定时器中断的魔力是什么,因为它已经在 SW 中服务过一次。

我不熟悉 OP-TEE。这是我的第一个问题。如果不清楚或愚蠢,请原谅我。谢谢。

0 投票
1 回答
792 浏览

arm - Linaro 如何安排 OPTEE?

我想知道代码的哪一部分是项目 OPTEE https://github.com/OP-TEE的调度程序。

更具体地说,代码决定了多核架构在哪个 CPU 安全世界和正常字处理上运行。

任何建议都非常感谢。

0 投票
1 回答
161 浏览

yocto - 如何在裸盒中为 imx6ul 添加 optee

我想optee为我的 imx6ul 板集成。为此,我下载optee_os并成功编译,我还使用 menuconfig 在内核级别启用了 optee 支持。

现在如何将optee支持集成到barebox. 谢谢。

0 投票
2 回答
1514 浏览

mbedtls - 解析 ECC 私钥缓冲区

我正在使用 OPTEE-OS 和 mbedTLS 并想创建一个 CSR。我正在使用 Global Platform API 创建我的 EC 密钥:

然后提取私钥:

然后使用 mbedTLS 解析这个值并创建一个来创建一个 CSR:

但是,从 TEE_GetObjectBufferAttribute 中提取的值没有标题和足迹:

并且只是一个二进制数组(不是字符串)。我目前收到以下错误代码:"-15616: PK - Invalid key tag or value".

有没有办法mbedtls_pk_context只用我的私钥的二进制值创建一个?

0 投票
1 回答
235 浏览

makefile - GNU Make 中的 Double Dollar "$$@" 目标名称

我有一条来自 OP-TEE 的规则(使用大型 makefile 包含并生成调用树来编译两个操作系统内核和应用程序),其中包含一些立即展开的变量——据我所知,这里没有第二次展开相关,因为double double Dollar 在规则中,因此不受第二次扩展的影响。它应该始终在第二阶段进行扩展:

在输出中,可以看到所有出现的$@and$$@都由 make 扩展,而不是 sh,但是单美元的没有填充正确的值,双美元的也没有自行转义:

我所期待的是:

哪种 make 机制可能是扩展在这里以不同方式工作的原因?

这个目标在其他 makefile 中嵌套了两层,并且有四个 make 调用,因此很难找出 buildchain 在这里配置的不同之处。


我无法使用最小的 makefile 重现此行为:

通过 $@ 扩展为目标名称和 $$@ 扩展为字符串或位置 shell 参数的空列表,产生预期的输出:

正如预期的那样,指定 .SECONDEXPANSION 不会更改结果。

0 投票
0 回答
203 浏览

docker - 从 docker 容器在主机上运行可执行文件

我在主机上有一个可执行文件,我想从 Docker 运行它。从 Docker 运行它很重要,因此您应该在内部调用它,并且它应该调用主机上的可执行文件。
Summerize:我需要将 Docker 容器与主机连接起来的东西,并且我可以调用 docker 容器中的可执行文件,即调用主机上相同的可执行文件。这可能吗?

我尝试了卷,但它对我不起作用,或者我以一种糟糕的方式使用它。

0 投票
1 回答
409 浏览

openssl - 如何为 OP-TEE 小型可信操作系统构建 OpenSSL?

我想为optee_os构建 OpenSSL 1.0.2 。但是 OpenSSL 非常大并且有很多依赖项(c 库 fe)。OP-TEE 没有 c 库(和其他库)。

我可以仅使用加密算法构建 OpenSSL 吗?(没有文件,z-lib 等)。

0 投票
1 回答
207 浏览

yocto - 带有 OP-TEE 示例的 IMX7D Sabre Yocto 项目

我第一次尝试使用 Yocto 使用 OP-TEE 为 imx7d saber 创建 SD 卡 Linux 映像。我按照此文档https://www.nxp.com/docs/en/user-guide/i.MX_Yocto_Project_User's_Guide_Linux.pdf构建图像。我能够使用 OP-TEE 构建映像并成功运行 OP-TEE Xtest。但是现在我不知道如何在图像中运行 OP-TEE 示例。这些二进制文件不在 bin 文件夹中

问题

  1. 如何将 OP-TEE 示例包含到 Yocto
  2. 将来如何将我自己的受信任应用程序添加到 Yocto。

    谢谢

0 投票
0 回答
799 浏览

yocto - 将 OP-TEE 添加到 Yocto

我正在尝试构建一个包含 OP-TEE 的 Yocto 图像。我已经习惯了 OP-TEE 的构建仓库(bl1.bin 等)的输出,但我无法让 Yocto 系统做同样的事情。也不/dev/tee存在任何设备(因此可能未配置内核)。尽管已经安装了 xtest 和 optee-examples。我正在尝试首先针对 QEMU ARMv8 构建它。

到目前为止,这是我的配置:

本地配置文件

bblayers.conf

谢谢你的帮助。

0 投票
0 回答
115 浏览

qemu - 如何将 mbedTLS 库与 optee_client 链接?

我想在客户端应用程序(普通世界)中使用 mbedTLS 库。

如何将 mbedTLS 库与 optee_client 链接?( mbedtls )

目前的情况;

我的问题是;

  1. 如何将 mbedtls 库与客户端应用程序(普通世界)链接?
  2. 如果你不介意,你能告诉我“二进制”是什么意思吗?(.so ? .a? or BINARY in Makefile?)(不好意思问这么基本的问题。)

“编译 foo 并链接第 1 步中的标头和二进制文件。” 来自 #112 ( https://github.com/OP-TEE/optee_client/issues/112 )