19. Public network component BoostSSL

Tags: “network components” “boostssl”


‘boostssl ‘is a public network component provided by’ fisco-bcos’, built-in http, websocket two protocols, supports the state secret, non-state secret SSL connection, used in ‘FISCO-BCOS 3.0’ multiple modules。

1. 目标

  • Support state secret, non-state secret SSL connection

  • Support HTTP protocol

  • Support WebSocket protocol

  • Simple, easy to use interface

2. 设计

3. Interface

To be added

4. 使用

Source Path:

Support System:

  • CentOS 7.2+

  • Ubuntu 18.04+

  • Windows 10

  • macOS 12

Dependent installation:

  • CentOS: yum install -y epel-release centos-release-scl openssl-devel openssl cmake3 gcc-c++ git flex patch bison gmp-static devtoolset-7 wget

  • Ubuntu: apt install -y g++ libssl-dev openssl cmake git build-essential autoconf texinfo flex patch bison libgmp-dev zlib1g-dev automake libtool wget

  • macOS: brew install wget openssl@1.1 git flex bison gmp

  • Windows:

Compile:

  • ‘Linux’ Compile

# source /opt/rh/devtoolset-7/enable # centos execution

cd bcos-boostssl
mkdir build && cd build
cmake ../ -DBUILD_SAMPLE=ON  # Centos uses cmake3, BUILD _ SAMPLE to compile the sample program of the sample directory
  • ‘macOS’ Compile

cd bcos-boostssl
mkdir build && cd build
cmake ../ -DBUILD_SAMPLE=ON # BUILD _ SAMPLE indicates the sample program for compiling the sample directory
  • ‘Windows’ Compile

# cmake
cmake -G "Visual Studio 15 2017" -A x64 ../ -DHUNTER_CONFIGURATION_TYPES=Release -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON

# Compile
MSBuild bcos-boostssl.sln /p:Configuration=Release /p:Platform=x64

5. Case

Use of ‘bcos-boostssl’ in ‘FISCO-BCOS’:

  • bcos-cpp-sdk: Use ‘boostssl’ as the client to connect to the node ‘rpc’, see:

  • ‘FISCO-BCOS rpc’ module: Use ‘boostssl’ as the server to provide ‘RPC’ services for both the ‘http’ and ‘websocket’ protocols. For more information, see: