openHiTLS 技术文档
1. 安装指南
1.1 环境准备
openHiTLS 依赖 Secure C 安全库,需提前下载并编译:
# 方法1:克隆主仓库时同步获取子模块
git clone --recurse-submodules https://gitcode.com/openhitls/openhitls.git
# 方法2:单独下载安全库
git clone https://gitcode.com/openhitls/openhitls.git
cd openHiTLS
git clone https://gitee.com/openeuler/libboundscheck platform/Secure_C
1.2 编译安全库
cd platform/Secure_C
make -j
2. 项目安装方式
2.1 Linux系统安装步骤
# 步骤1:创建构建目录
cd openHiTLS && mkdir -p ./build && cd ./build
# 步骤2:生成配置(示例为x86_64全功能静态库)
python3 ../configure.py --enable hitls_bsl hitls_crypto hitls_tls hitls_pki hitls_auth --lib_type static --bits=64 --system=linux --asm_type x8664
# 步骤3:生成构建脚本
cmake ..
# 步骤4:编译安装
make && make install
3. 项目使用说明
3.1 核心组件
- bsl:基础支持层,提供C标准增强功能
- crypto:密码算法模块,支持SM2/SM3/SM4等商用密码算法
- tls:传输层安全协议,支持TLS1.3/TLCP等协议
- pki:证书管理模块,支持证书解析/验证/生成
- auth:认证模块,支持RFC9578令牌认证
3.2 功能特性
- 协议支持:TLS1.3、TLCP、DTLS1.2等
- 算法支持:ML-DSA后量子算法、商用密码系列算法
- 模块化设计:支持按需裁剪,最小可至10KB
4. 项目API使用文档
4.1 密码算法调用示例
#include "hitls_crypto.h"
// SM4-ECB加密示例
void sm4_ecb_encrypt(const uint8_t *key, const uint8_t *plaintext, uint8_t *ciphertext) {
hitls_cipher_context_t ctx;
hitls_cipher_init(&ctx, HITLS_CIPHER_SM4_ECB);
hitls_cipher_setkey(&ctx, key, 128, HITLS_ENCRYPT);
hitls_cipher_update(&ctx, plaintext, 16, ciphertext);
hitls_cipher_finish(&ctx);
}
4.2 TLS协议使用示例
#include "hitls_tls.h"
// TLS客户端初始化
hitls_tls_config_t config = {
.cert_verify = HITLS_TLS_VERIFY_REQUIRED,
.endpoint = HITLS_TLS_IS_CLIENT
};
hitls_tls_context_t *tls_ctx = hitls_tls_init(&config);
4.3 高级特性
- 后量子算法支持:通过算法插件框架动态加载ML-KEM等算法
- 硬件加速:支持算法卸载到密码芯片/密码卡
- 内存安全:通过形式化验证保障接口安全性
注意事项
- 贡献代码前需签署CLA协议
- 裁剪配置时需注意模块依赖关系
- 商用密码协议使用时需配置双证书链
- 性能敏感场景建议启用x86/ARM指令优化
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



