19. 公共网络组件BoostSSL

标签: 网络组件 boostssl


boostsslfisco-bcos提供的一个公共网络组件,内置http、websocket两种协议,支持国密、非国密的SSL连接方式,在FISCO-BCOS 3.0多个模块中使用。

1. 目标

  • 支持国密、非国密SSL连接

  • 支持HTTP协议

  • 支持WebSocket协议

  • 简单、易用的接口

2. 设计

3. 接口

待添加

4. 使用

源码路径:

支持系统:

  • CentOS 7.2+

  • Ubuntu 18.04+

  • Windows 10

  • macOS 12

依赖安装:

  • 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:

编译:

  • Linux编译

# source /opt/rh/devtoolset-7/enable # centos执行

cd bcos-boostssl
mkdir build && cd build
cmake ../ -DBUILD_SAMPLE=ON  # centos使用cmake3, BUILD_SAMPLE表示编译sample目录的示例程序
  • macOS编译

cd bcos-boostssl
mkdir build && cd build
cmake ../ -DBUILD_SAMPLE=ON # BUILD_SAMPLE表示编译sample目录的示例程序
  • Windows编译

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

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

5. 案例

bcos-boostsslFISCO-BCOS中的使用:

  • bcos-cpp-sdk: 使用boostssl作为客户端,连接节点rpc,参考:

  • FISCO-BCOS rpc模块: 使用boostssl作为服务端,提供httpwebsocket两种协议的RPC服务,参考: