openhitls/README.md
xuhuiyue 13344c5309 Package init
Signed-off-by: xuhuiyue <xuhuiyue@huawei.com>
(cherry picked from commit 74a263e7333869c1cfbb200305b2c144b98d5345)
2024-11-27 11:18:02 +08:00

3.7 KiB
Raw Blame History

English | 简体中文

openHiTLS

欢迎访问openHiTLS代码仓该代码仓的项目官网是openHiTLS社区https://openhitls.netopenHiTLS的目标是提供高效、敏捷的全场景开源密码学开发套件。openHiTLS已支持通用的标准密码算法、(D)TLS、TLCP等安全通信协议更多特性待规划。

概述

openHiTLS架构高度模块化可通过模块和特性配置。RAM/ROM尺寸取决于所选的特性。openHiTLS为密码算法提供最佳性能优化。当前已支持4个组件和算法特性可按需配置支持ARM、x86架构CPU上的算法性能优化更多架构和特性待规划。

特性简介

  1. 功能特性TLS1.2、TLS1.3、DTLS1.2、TLCPAESSM4Chacha20RSADSAECDSAECDHDHSM2DRBGHKDFSCRYPTPBKDF2SHA2SHA3MD5SM3HMACX509
  2. DFX特性高度模块化特性按需配置的敏捷架构ARM、x86上的算法性能优化日志和错误堆栈功能的可维可测性

组件简介

目前openHiTLS有4个组件其中BSL组件需和其他组件一起使用。

  • BSL是Base Support Layer的缩写提供基础C类标准的增强功能和OS适配器需与其他模块一起使用
  • 密码算法组件Crypto提供了完整的密码功能且性能较优。该组件既可以被TLS使用也可与BSL一起使用
  • TLS是Transport Layer Security的缩写涵盖了TLS1.3及之前的TLS版本会与Crypto、BSL以及其他三方密码组件或PKI库一起使用
  • X509组件当前提供了能够支撑TLS协议建链的基础功能后续逐步完善功能

开发

依赖准备

openHiTLS依赖于Secure C因此需将Secure C下载到${openHiTLS_dir}/platform/Secure_CSecure C的一个官方Git库是 https://gitee.com/openeuler/libboundscheck

  • 下载安全函数库
# 方式1 与openHiTLS代码仓一起拉取
git clone --recurse-submodules https://gitcode.com/openhitls/openhitls.git

# 方式2 单独拉取安全函数库
git clone https://gitcode.com/openhitls/openhitls.git
cd ${openHiTLS_dir} 
git clone https://gitee.com/openeuler/libboundscheck platform/Secure_C
  • 构建安全函数库
cd ${openHiTLS_dir}/platform/Secure_C
make -j

致应用开发人员

正式版本的源码镜像尚未正式开放、还在规划当中。

官方代码仓库托管在https://gitcode.com/openhitls您可以通过如下命令将Git库克隆为一个本地副本进行使用

git clone https://gitcode.com/openhitls/openhitls.git

如果您有意贡献代码请在gitcode上复制openhitls库再克隆您的公共副本

git clone https://gitcode.com/"your gitcode name"/openhitls.git

文档

本文档旨在帮助开发者和贡献者更快地上手openHiTLS详情参考文档列表

构建与安装

在Linux系统中进行构建与安装时可参考构建安装指导 Linux系统中的主要步骤有

  1. 准备构建目录:
cd openHiTLS && mkdir -p ./build && cd ./build
  1. 生成构建配置:
python3 ../configure.py ["option"]
  • C全量构建
python3 ../configure.py --enable hitls_bsl hitls_crypto hitls_tls hitls_x509 --lib_type static --bits=64 --system=linux
  • x8664优化全量构建
python3 ../configure.py --enable hitls_bsl hitls_crypto hitls_tls hitls_x509 --lib_type static --bits=64 --system=linux --asm_type x8664

选项介绍可参考构建安装指导

  1. 生成构建脚本:
cmake ..
  1. 执行构建和安装:
make && make install

贡献

如果您有意为openHiTLS社区做贡献请先在CLA签署平台上完成CLA签署。