国密支持
为了充分支持国产密码学算法,金链盟基于国产密码学标准,在FISCO BCOS平台中集成了国密加解密、签名、验签、哈希算法、国密SSL通信协议,实现了对国家密码局认定的商用密码的完全支持。设计文档见国密版FISCO BCOS设计手册。
初次部署国密版FISCO BCOS
本节使用build_chain脚本在本地搭建一条4节点的FISCO BCOS链,以Ubuntu 16.04
系统为例操作。本节使用预编译的静态fisco-bcos
二进制文件,在CentOS 7和Ubuntu 16.04上经过测试。
- # Ubuntu16安装依赖
- $ sudo apt install -y openssl curl
- # 准备环境
- $ cd ~ && mkdir -p fisco && cd fisco
- # 下载build_chain.sh脚本
- $ curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.2.0/build_chain.sh && chmod u+x build_chain.sh
执行完上述步骤后,fisco目录下结构如下:
- fisco
- ├── bin
- │ └── fisco-bcos
- └── build_chain.sh
- 搭建4节点FISCO BCOS链
- # 生成一条4节点的FISCO链 4个节点都属于group1 下面指令在fisco目录下执行
- # -p指定起始端口,分别是p2p_port,channel_port,jsonrpc_port
- # 根据下面的指令,需要保证机器的30300~30303,20200~20203,8545~8548端口没有被占用
- # -g 国密编译选项,使用成功后会生成国密版的节点。默认从GitHub下载最新稳定版本可执行程序
- $ ./build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545 -g
关于build_chain.sh
脚本选项,请参考这里。命令正常执行会输出All completed
。(如果没有输出,则参考nodes/build.log
检查)。
- [INFO] Downloading tassl binary ...
- Generating CA key...
- Generating Guomi CA key...
- ==============================================================
- Generating keys ...
- Processing IP:127.0.0.1 Total:4 Agency:agency Groups:1
- ==============================================================
- Generating configurations...
- Processing IP:127.0.0.1 Total:4 Agency:agency Groups:1
- ==============================================================
- [INFO] FISCO-BCOS Path : bin/fisco-bcos
- [INFO] Start Port : 30300 20200 8545
- [INFO] Server IP : 127.0.0.1:4
- [INFO] State Type : storage
- [INFO] RPC listen IP : 127.0.0.1
- [INFO] Output Dir : /mnt/c/Users/asherli/Desktop/key-manager/build/nodes
- [INFO] CA Key Path : /mnt/c/Users/asherli/Desktop/key-manager/build/nodes/gmcert/ca.key
- [INFO] Guomi mode : yes
- ==============================================================
- [INFO] All completed. Files in /mnt/c/Users/asherli/Desktop/key-manager/build/nodes
当国密联盟链部署完成之后,其余操作与安装的操作相同。
国密配置信息
国密版本FISCO BCOS节点之间采用SSL安全通道发送和接收消息,证书主要配置项集中在如下配置项中:
- [network_security]
- data_path:证书文件所在路径
- key:节点私钥相对于data_path的路径
- cert: 证书gmnode.crt相对于data_path的路径
- ca_cert: gmca证书路径
- ;certificate configuration
- [network_security]
- ;directory the certificates located in
- data_path=conf/
- ;the node private key file
- key=gmnode.key
- ;the node certificate file
- cert=gmnode.crt
- ;the ca certificate file
- ca_cert=gmca.crt
国密版SDK使用
详细操作参考SDK文档。
国密版控制台配置
详情操作参考控制台操作手册配置国密版控制台
小节。
国密控制台使用
国密版控制台功能与标准版控制台使用方式相同,见控制台操作手册。
国密落盘加密配置
国密版Key Manager
国密版的Key Manager需重新编译Key Manager,不同点在于cmake时带上-DBUILD_GM=ON
选项。
- # centos下
- cmake3 .. -DBUILD_GM=ON
- # ubuntu下
- cmake .. -DBUILD_GM=ON
其它步骤与标准版Key Manager相同,请参考:key-manager repository。
国密版节点配置
FISCO BCOS国密版采用双证书模式,因此落盘加密需要加密的两套证书,分别为:conf/gmnode.key 和 conf/origin_cert/node.key。其它与标准版落盘加密操作相同。
- cd key-manager/scripts
- #加密 conf/gmnode.key 参数:ip port 节点私钥文件 cipherDataKey
- bash encrypt_node_key.sh 127.0.0.1 31443 nodes/127.0.0.1/node0/conf/gmnode.key ed157f4588b86d61a2e1745efe71e6ea
- #加密 conf/origin_cert/node.key 参数:ip port 节点私钥文件 cipherDataKey
- bash encrypt_node_key.sh 127.0.0.1 31443 nodes/127.0.0.1/node0/conf/origin_cert/node.key ed157f4588b86d61a2e1745efe71e6ea