配置openssl sgx

所以说sgx的坑真的是多

首先我们可以在intel sgx的主页上看到一个:

有这么好的一个库可以用,赶快用起来啊

结果一下下来

嗯?我要的lib呢,intel你耍我吗???

无奈,只好找到了这个东西的github

按照他的要求,装perl,7z,nasm,并且全部要加在环境变量里面。

搞完以后,随便下了个ssl的版本,发现脚本本身就报错了??

观察了一下,发现这两个cmd脚本的开头都是这样的:

@echo off
Rem 
Rem Copyright (C) 2011-2017 Intel Corporation. All rights reserved.
Rem 
Rem Redistribution and use in source and binary forms, with or without
Rem modification, are permitted provided that the following conditions
Rem are met:
Rem 

这个Rem后面没有接东西的话,我的电脑上就直接会错开一个字符,意思就是我第二句话就变成了

em Copyright (C) 2011-2017 Intel Corporation. All rights reserved.

于是就开始疯狂的报错。

emmmm,好吧,把前面这一堆全部去掉吧,编译,启动!

语法错误:宏中的非法字符{

嗨呀,就很气。

想了很久,决定用github中教程所使用的openssl版本。

然后就编译过了。。。。。过了。。。

编译过后有3个lib,试了一会,发现只要把t开头那两个的lib附加在sgx的工程里,u开头那一个放在使用sgx的工程中,最后再在edl文件中引入他给的那一个edl,就可以通过编译。

说不出话,想了想还是我太菜。

3 thoughts on “配置openssl sgx

  1. 博主大大,我也遇到了同样的问题。是Intel给的脚本文件编码导致的问题。官方给的build_all.cmd调用了build_package.cmd,前者编码方式是UTF-8,后者编码方式是UTF-8含有BOM,后者在16进制下打开可以看到开头乱码(应该是平台解码问题),导致后面的命令错位,编译报错。另存为UTF-8编码再运行就没问题了。
    以及,确实sgxssl目前只支持到对openssl-1.1.1d的编译,使用1.1.1d以上版本哪怕编码对了也会编译不通过.
    最后,Intel写的啥??????

    1. 23333当时太菜了没有想到是编码问题。当时那个warning里面的内容我记不太清了,写的好像是你用这个东西出了问题我们不会负责。不过刚才看了一下好像找不到这个界面了。

      1. 博主大大我又来求助了,我编译的结果只有一个x64/Release/文件夹下的三个函数库(两个t开头一个u开头的.lib),但是按照Intel官方给的配置方法:1)将package复制到solution文件夹下→2).edl里面添加“from sgx_tsgxssl.edl import *”→3).edl文件的search path添加sgx_tsgxssl.edl的路径→4)将package中的include和lib文件夹路径添加到APP和enclave的include和lib选项中(属性→VC++目录),再编译工程就报了好多基本类型未定义的错误(如DWORD)还有函数重定义的错误。换了好几个samplecode工程都这样……请问大大可以详细一点讲一下你是怎么配置然后成功使用的吗?

tuziyou进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注