跳到主要内容

铜锁适配 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