同态加密库的使用
介绍同态加密库的使用。
操作步骤
- 实例订购及文件下载。
订购BCS实例时,安全机制选择使用“ECDSA”同态加密。完成订购后,下载同态加密库ahex.x.x.tar.gz,客户端开发套件国密SDK包sdkx.x.x.tar.gz,peer与orderer用户证书,配置文件等。
- 安装客户端SDK库。
将下载的国密SDK包sdkx.x.x.tar.gz解压到用户的$GOPATH目录下。
- 安装同态加密库。
将下载的ahex.x.x.tar.gz解压到用户的$GOPATH目录下。
- 安装依赖库(仅针对Fabric1.1)。
依赖的库文件位于同态加密库目录下,当同态加密库被解压到用户的$GOPATH目录后,该文件位于$GOPATH/src/ahe/PSW/deps/lib,请将该目录下的所有文件复制至本地的/usr/local/include/openssl/目录下(如果没有该目录,请自行创建该目录),然后设置环境变量:
export LD_LIBRARY_PATH=/usr/local/include/openssl:$LD_LIBRARY_PATH //以项目路径为/usr/local/include/openssl为例,若自行创建目录,请以实际创建目录为准
若提示缺少libgmp,则需要用户安装gmp库。安装方法可以参考linux操作系统包管理工具(例如ubuntu系统可以使用apt-get install libgmp10命令来安装,也可在https://gmplib.org/下载源码进行编译安装)。
- 开发Client程序与链代码。
请参考AHE Lib库接口和Chaincode库接口进行具体的应用和链代码(智能合约)的开发。
例如App客户端和链代码端的逻辑过程参考如下:
- 安装链代码。
通过管理界面,将开发的链代码安装到用户订购的BCS实例中并实例化。
- 部署应用。
用户根据业务需求开发app应用,app应用可以调用同态加密库来对交易信息进行隐私保护。开发完成后,将app部署在购买的服务器上。app部署完成后,确保环境中具有配置文件、证书文件(peer和orderer的用户证书)、openssl库。