概述
HSMC
是一个以C++语言封装的开发库(C++ Headers & Library)。面向需要进行国密改造的业务系统,为其提供异构厂商的密码设备调用能力。业务系统应用程序动态或静态链接HSMC库可实现对底层包括服务器密码机、签名验签服务器、时间戳服务器等设备算力的统一访问。
架构
HSMC
为应用程序或密码工具套件提供统一的HSMC API
接口,通过HSMC
库对底层异构密码设备的管理和调度,实现上层应用或密码工具对底层设备的透明访问。
在业务实际开发阶段,可借助自带的密码机软件模拟器
提供的SDF接口库,实现业务开发测试闭环。在需要满足密评合规的场景下,无需更改业务代码,仅通过变更HSMC
配置,即可实现密评合规的无缝迁移。
开发
HSMC
使用cmake进行编译
第三方依赖
HSMC
依赖的三方库包括:
google abseil c++
开发库spdlog
开发库用于日志记录yaml-cpp
开发库用于配置文件解析opentelemetry-cpp
用于密码设备SDF等调用的性能监控。可选
如果编译单元测试,则需要依赖以下库:
gtest
单元测试库
编译&安装
请准备好cmake编译环境以及以上依赖后,可执行:
mkdir build
cd build
cmake ..
make -j
make install
可根据编译需要,开启或关闭
HSMC_BUILD_WITH_OPENTELEMETRY
, 启用SDF性能监控(可通过prometheus监控SDF相关metric)