当前位置:   article > 正文

Ubuntu18.04编译配置SGX-SSL(SGX支持的openssl函数库)_intel sgx ssl

intel sgx ssl

预备

  • Perl
  • Toolchain(正常这一步应该在编译SGX SDK和PSW准备阶段就完成了的,容易忽略,搭建SGX开发环境的时候最好别跳过)
$ sudo cp external/toolset/{current_distr}/{as,ld,ld.gold,objdump} /usr/local/bin
$ which as ld ld.gold objdump
  • 1
  • 2
  • Intel SGX driver、SDK和PSW
  • 准备好OpenSSL源码压缩包openssl-${version}.tar.gz。截至本博客发布OpenSSL最新版本为openssl-1.1.1i,官网也是用1.1.1i做示例。
    为保持一致,我先尝试用openssl-1.1.1版本来编译得到sgxssl库,但是亲测不可行,这一版本的openssl与Intel最新的sgxssl编译命令不兼容,编译会报错,遂建议与Intel官方教程保持一致,使用最新的openssl-1.1.1i来编译sgxssl库。

升级openssl

为了保持sgxssl与系统的openssl一致,防止以后开发过程中遇到因为版本不一而引发的奇怪错误,首先将Ubuntu18.04自带的openssl库升级为最新版本(openssl-1.1.1i)
1.到openssl官网或者通过运行命令

$wget https://openssl.org/source/openssl-1.1.1i.tar.gz
  • 1

下载最新的openssl源码压缩包
2. 将压缩包解压(压缩包不要删掉,之后还有用)并进入解压缩后得到的文件夹

$ tar -zxf openssl-1.1.1i.tar.gz && cd openssl-1.1.1i
  • 1

3.命令行运行

$./config 
  • 1

创建Makefile,再用
`

$make all
  • 1

编译openssl函数库,最后用

$make test
  • 1

检查一下
4用root权限安装openssl

$ sudo make install
  • 1

默认安装路径是/usr/local/bin/openssl
5.安装好之后还不能用,因为此时系统里有新旧两个版本的openssl,需要用新版本替换旧版本。依次运行以下命令:

$sudo mv /usr/bin/openssl/bin /usr/bin/openssl.old //将旧版本openssl进行备份
$sudo ln -s /usr/local/bin/openssl /usr/bin/openssl  //设置新版本openssl软连接
$cd /etc/
$su  //必须切换root权限,否则下一步无法执行,即使使用sudo也不行
$echo "/usr/local/lib" >> ld.so.conf  //将新的openssl安装路径添加到系统配置中去
$ldconfig  //重新加载系统配置
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6运行版本检查语句检查一下

$openssl version
  • 1

这时候应该是可以看到已经更新到openssl-1.1.1i这个版本了,升级完毕
编译安装SGX SSL
1.从GitHub拉取intel-sgx-ssl项目:

$git clone https://github.com/intel/intel-sgx-ssl
  • 1

2将openssl-1.1.1i.tar.gz压缩包copy到/intel-sgx-ssl/openssl_source/目录下
3.进入/intel-sgx-ssl/Linux目录,运行

$source /opt/intel/sgxsdk/environment  //这里应填写sgx的安装路径,我的是/opt/intel/sgxsdk/
  • 1

使得sgx开发环境生效。
4.无脑编译安装

$make all test
$sudo make install
  • 1
  • 2

安装完毕,可以在/opt/intel/sgxssl/找到编译好的库函数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/65112
推荐阅读
相关标签
  

闽ICP备14008679号