国密支持

为了充分支持国产密码学算法,金链盟基于国产密码学标准,在FISCO BCOS平台中集成了国密加解密、签名、验签、哈希算法、国密SSL通信协议,实现了对国家密码局认定的商用密码的完全支持。设计文档见国密版FISCO BCOS设计手册

初次部署国密版FISCO BCOS

本节使用build_chain脚本在本地搭建一条4节点的FISCO BCOS链,以Ubuntu 16.04系统为例操作。本节使用预编译的静态fisco-bcos二进制文件,在CentOS 7和Ubuntu 16.04上经过测试。

  1. # Ubuntu16安装依赖
  2. $ sudo apt install -y openssl curl
  3. # 准备环境
  4. $ cd ~ && mkdir -p fisco && cd fisco
  5. # 下载build_chain.sh脚本
  6. $ curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.2.0/build_chain.sh && chmod u+x build_chain.sh

执行完上述步骤后,fisco目录下结构如下:

  1. fisco
  2. ├── bin
  3.    └── fisco-bcos
  4. └── build_chain.sh
  • 搭建4节点FISCO BCOS链
  1. # 生成一条4节点的FISCO链 4个节点都属于group1 下面指令在fisco目录下执行
  2. # -p指定起始端口,分别是p2p_port,channel_port,jsonrpc_port
  3. # 根据下面的指令,需要保证机器的30300~30303,20200~20203,8545~8548端口没有被占用
  4. # -g 国密编译选项,使用成功后会生成国密版的节点。默认从GitHub下载最新稳定版本可执行程序
  5. $ ./build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545 -g

关于build_chain.sh脚本选项,请参考这里。命令正常执行会输出All completed。(如果没有输出,则参考nodes/build.log检查)。

  1. [INFO] Downloading tassl binary ...
  2. Generating CA key...
  3. Generating Guomi CA key...
  4. ==============================================================
  5. Generating keys ...
  6. Processing IP:127.0.0.1 Total:4 Agency:agency Groups:1
  7. ==============================================================
  8. Generating configurations...
  9. Processing IP:127.0.0.1 Total:4 Agency:agency Groups:1
  10. ==============================================================
  11. [INFO] FISCO-BCOS Path : bin/fisco-bcos
  12. [INFO] Start Port : 30300 20200 8545
  13. [INFO] Server IP : 127.0.0.1:4
  14. [INFO] State Type : storage
  15. [INFO] RPC listen IP : 127.0.0.1
  16. [INFO] Output Dir : /mnt/c/Users/asherli/Desktop/key-manager/build/nodes
  17. [INFO] CA Key Path : /mnt/c/Users/asherli/Desktop/key-manager/build/nodes/gmcert/ca.key
  18. [INFO] Guomi mode : yes
  19. ==============================================================
  20. [INFO] All completed. Files in /mnt/c/Users/asherli/Desktop/key-manager/build/nodes

当国密联盟链部署完成之后,其余操作与安装的操作相同。

国密配置信息

国密版本FISCO BCOS节点之间采用SSL安全通道发送和接收消息,证书主要配置项集中在如下配置项中:

  1. [network_security]
  2.  
  3. data_path:证书文件所在路径
  4. key:节点私钥相对于data_path的路径
  5. cert: 证书gmnode.crt相对于data_path的路径
  6. ca_cert: gmca证书路径
  7.  
  8. ;certificate configuration
  9. [network_security]
  10. ;directory the certificates located in
  11. data_path=conf/
  12. ;the node private key file
  13. key=gmnode.key
  14. ;the node certificate file
  15. cert=gmnode.crt
  16. ;the ca certificate file
  17. ca_cert=gmca.crt

国密版SDK使用

详细操作参考SDK文档

国密版控制台配置

详情操作参考控制台操作手册配置国密版控制台小节。

国密控制台使用

国密版控制台功能与标准版控制台使用方式相同,见控制台操作手册

国密落盘加密配置

国密版Key Manager

国密版的Key Manager需重新编译Key Manager,不同点在于cmake时带上-DBUILD_GM=ON选项。

  1. # centos下
  2. cmake3 .. -DBUILD_GM=ON
  3. # ubuntu下
  4. cmake .. -DBUILD_GM=ON

其它步骤与标准版Key Manager相同,请参考:key-manager repository

国密版节点配置

FISCO BCOS国密版采用双证书模式,因此落盘加密需要加密的两套证书,分别为:conf/gmnode.key 和 conf/origin_cert/node.key。其它与标准版落盘加密操作相同。

  1. cd key-manager/scripts
  2. #加密 conf/gmnode.key 参数:ip port 节点私钥文件 cipherDataKey
  3. bash encrypt_node_key.sh 127.0.0.1 31443 nodes/127.0.0.1/node0/conf/gmnode.key ed157f4588b86d61a2e1745efe71e6ea
  4. #加密 conf/origin_cert/node.key 参数:ip port 节点私钥文件 cipherDataKey
  5. bash encrypt_node_key.sh 127.0.0.1 31443 nodes/127.0.0.1/node0/conf/origin_cert/node.key ed157f4588b86d61a2e1745efe71e6ea