初学CP-ABE库的安装,遇到了不少弯,现总结如下:-
cp- abe依赖pbc,pbc依赖gmp,gmp依赖M4、bison、flex,所以我们一步步开始,首先登陆root账户,否则权限不够。
M4、bison、flex均可以在terminal中通过sudo apt-get install方式直接安装
GMP下载地址:https://gmplib.org/,编辑本文时,已更新到了gmp-6.1.1.tar.bz2版本,下载后解压到gmp-6.1.1.tar.bz2文件夹中,然后进入目录gmp-6.1.1,命令:
然后安装
PBC下载地址:http://crypto.stanford.edu/pbc/download.html,下载pbc-0.5.14.tar.gz版本,下载后在terminal里解压文件夹安装,命令:
到此PBC环境配置完成,然后进行测试
进入pbc-0.5.14 —example目录下,里面有一些案例,随便复制一个.c文件,自定义命名为foo.c,更改里面的内容成:
(当然你也可以新建一个.c文件)
在terminal终端下键入如下代码
gcc -o foo foo.c
应该会有两个错误,错误原因请查看链接:http://crypto.stanford.edu/pbc/howto.html
我们可以通过如下的代码编译文件:
注意: 如果此处出错,试着把 -Wl,-rpath 改为 -Wl,-R
编译成功后,会发现在该目录下生成一个可执行文件foo,
然后在终端运行该文件:
./foo
运行成功会打印出:
this is a test
这表明,PBC环境配置成功
安装CPABE前,先安装openssl 和glib ,直接在线安装就可以:
在http://acsc.cs.utexas.edu/cpabe/下载libbswabe-0.9.tar.gz 和cpabe-0.11.tar.gz,必须先安装libbswabe
这一步后会出现错误
#进入Makefile,注意这里M一定是大写,进入后找到以LDFLAGS开头的以下部分:
注意:这里需要用到vi编辑的一些知识。在进入Makefile后,将光标移至-lcrypto -lcrypto后面,输入i进入编辑模式,输入”\”,然后enter,另起一行,然后直接按Tab,输入-lgmp (-lgmp前面必须是TAB键)。输入的时候小心,多任何一个空格都会出错!完成后按Ese退出编辑模式,然后输入冒号“:”进入命令模式,会发现光标定位到了最低端,此时输入wq即保存退出vi了,如果编辑错了也不用担心,在“:”后输入 q! 即可不保存退出,然后重新进入修改。
Makefile 修改完成后,
sudo make
可能还会出现问题
这时候,需要修改policy_lang.y文件
进入policy_lang.y后,在67行的 } 前加入;即可
完成后,
就不会有问题了
编译成功后进行测试
这时显示