开头:

intel 官方出来的 教程

英特尔® Software Guard Extensions 教程系列

本教程将包含多个部分,目前计划发表 12 篇文章(准确数字尚未确定),每篇文章阐述一个特定主题。 虽然准确的时间表尚未制定,但系列的每个部分每 2-3 周* 应会发表一次,内容涉及以下阶段:

  • 概念和设计
  • 应用开发和英特尔 SGX 集成
  • 验证和测试
  • 封装和部署
  • 处理

SGX应用开发入门

intel sgx 项目新建一个项目
英特尔®软件保护扩展(英特尔®SGX)基于Web的培训

新建一个Intel sgx 项目

新建Enclave版本的hello world 项目
第一步:首先创建一个enclave项目

  1. 打开微软Visual Studio的菜单,选择File→New→Project。然后弹出”New Project”对话框。
  2. 选择Templates→Visual C++→Intel® SGX Enclave Project。输入名字,位置和项目名称(如图 5所示)。
    配置enclave
    intel sgx 项目新建一个项目

SGX enclave项目设置向导对话框中的各个选项含义如下

  • Project Type
    Enclave – 创建一个Enclave项目

  • Enclave library – 创建一个Enclave项目用的静态库
    一般简单的项目,我们只要在一个Enclave里项目开发即好。如果是一个需要多人开发的复杂的Enclave项目,出于项目管理的需要,有些核心代码不希望让一些开发者看到的话,可以把核心代码编译成一个静态库。然后再把这个静态库放到其他的Enclave项目里直接编译链接即可。

  • Additional Libraries
    链接C++标准模板库进当前Enclave项目

  • Signing Key
    导入一个给Enclave项目签名的**文件,如果不指定文件的话会自动生成一个**文件。此**用于给编译出的SGX Enclave签名。

在本Hello World程序里各项设置均保持默认设置。

点击Finish,一个Enclave的空项目就创建好了(图 8)。创建向导会自动添加一些Enclave所必须的文件。
intel sgx 项目新建一个项目
参考网页:https://software.intel.com/zh-cn/SGX-Development-Guide-Part-2

一个sgx项目文件组成

假设enclave项目名称为sample_enclave
intel sgx 项目新建一个项目

源文件

  1. sample_enclave.cpp主要源文件,用户函数和变量填充。 用户可以添加其他源文件。
  2. Enclave定义语言(EDL)文件。 声明由安全区导出(信任)和导入(不信任)哪些函数。 EDL语法在单独的章节中解释。
    3.sample_enclave_t.c – trusted auto-generated wrapper functions. Do not modify this file as every build recreates it.(自动生成的文件)

头文件

  1. 头文件:sample_enclave_t.h 为函数自动生成的头部。 不要修改此文件,因为每次构建都会重新创建它。

资源文件

  1. sample_enclave.config.xml指定安全区配置。 细节在单独的部分中解释.
  2. sample_enclave.private.pem用于签署 Clave的RSA私钥。

相关文章:

  • 2022-02-27
  • 2022-02-09
  • 2022-02-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-23
  • 2021-11-27
猜你喜欢
  • 2021-10-26
  • 2021-10-29
  • 2021-11-30
  • 2021-10-10
相关资源
相似解决方案