在前面知道了关于TA的基础知识,在书里面还有关于调用、内存、线程等知识,但是因为这次的任务是关于TA动态加载功能的验证,所以就先暂时跳过,我的学习一直都是建立关联。
前面讲了TA的用处,以及和CA的配合使用。这一节就来讲讲TA镜像本身的东西。
使用OP-TEE实现特定功能需求则需要开发一个特定的TA, TA调用GP规范定义的接口实现该功能需求。
(这篇文章为了连续性,就长得比较长,不一定一次性看完,建议慢慢享用,体会这个TA编译签名加载使用的逻辑,我分为两篇讲完)
TA镜像文件会被保存在REE侧的文件系统中并以动态TA的方式运行于OP-TEE中,当用户需要调用该TA的功能时,通过在CA中调用libteec库中的接口,完成创建会话的操作,将REE侧文件系统中的TA镜像文件加载到OP-TEE的用户空间运行。
为防止该TA镜像文件被篡改或被破坏,在加载TA镜像文件的过程中会对该TA镜像文件的合法性进行检查,只有校验通过的TA镜像文件才允许运行于OP-TEE的用户空间。(这就是目的)
编译TA镜像文件过程中会对TA镜像文件做电子签名操作。
接下来就讲讲TA镜像文件的编译、签名以及加载。
TA镜像文件在OP-TEE工程编译过程中生成,也可通过单独调用TA目录下的脚本来进行编译,但前提是