铜锁适配 OpenHarmony
OpenHarmony操作系统可以基于铜锁密码库构建。例如,Huks模块可以使用铜锁作为底层的Engine,提供密钥管理等能力。同理,对于其他模块,包括certificate_manager等,以及第三方模块都可以依赖铜锁提供的密码学原语和安全传输协议。 OpenHarmony基于铜锁构建,需要修改各个模块的构建脚本,核心修改包括:
- 使用Tongsuo头文件,//third_party/Tongsuo/include
- 依赖libcrypto动态库,//third_party/Tongsuo:tongsuo_libcrypto_shared
- 依赖libssl动态库,//third_party/Tongsuo:tongsuo_libssl_shared
详细适配步骤请参考以下说明。
适配OpenHarmony 3.2
下载OpenHarmony 3.2 release源码
# 需要上传ssh公钥到gitee账户
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-3.2-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
# 安装编译器及二进制工具
bash build/prebuilts_download.sh
下载铜锁源代码
cd third_party
# 将铜锁源代码下载到third_party下面
git clone https://github.com/Tongsuo-Project/Tongsuo
cd Tongsuo
# 切换到8.3-stable分支
git checkout 8.3-stable
cd ..
# 为确保基于铜锁构建而不使用OpenSSL,可以将openssl文件夹改名字或删除
mv openssl openssl.orig
修改构建脚本
修改多个构建脚本,使用铜锁密码库,生成以下diff文件。 tongsuo.diff
patch -p1 < tongsuo.diff
构建OpenHarmony
# 以RK3568开发板为例,构建其他产品需要使用对应的名字
./build.sh --product-name rk3568 --ccache