diff --git a/thirdparty/tink/HPKBUILD b/thirdparty/tink/HPKBUILD new file mode 100644 index 0000000000000000000000000000000000000000..8459893ef608d2c22f839bcc876c75a02779f32f --- /dev/null +++ b/thirdparty/tink/HPKBUILD @@ -0,0 +1,122 @@ +# Contributor: wupingyuan <3415239542@qq.com> +# Maintainer: wupingyuan <3415239542@qq.com> +pkgname=tink +pkgver=v1.7.0 +pkgrel=0 +pkgdesc="Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse." +url="https://github.com/google/tink" +archs=("armeabi-v7a" "arm64-v8a") +license=("Apache License 2.0") +depends=("googletest" "openssl") +makedepends=("go") #依赖golang编译器 + +source="https://github.com/google/$pkgname/archive/refs/tags/$pkgver.tar.gz" + +# 需要依赖protobuf linux编译 +protobufpkgname=protobuf +protobufbuildhostflag=true +protobufpkgver=v3.19.3 +protobufsource="https://github.com/protocolbuffers/$protobufpkgname/archive/refs/tags/$protobufpkgver.tar.gz" +protobufbuilddir=$protobufpkgname-${protobufpkgver:1} +protobufpackagename=$protobufbuilddir.tar.gz +protoc= + +autounpack=true +downloadpackage=true +patchflag=true +builddir=$pkgname-${pkgver:1} +packagename=$builddir.tar.gz + +# 下载protobuf +downloadprotobuf() { + if [ ! -s $protobufpackagename ];then + curl -f -L -- $protobufsource > $protobufpackagename + if [ "$?" != "0" ];then + echo "download $protobufbuilddir fail" + return 1 + fi + fi + echo "1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6 protobuf-3.19.3.tar.gz" > protobufsha512sum + sha512sum -c protobufsha512sum + ret=$? + if [ $ret -ne 0 ];then + echo "请检查$protobufpackagename文件, 并重新下载src压缩包." + return 2 + fi + rm -rf protobufsha512sum + tar -xvf $protobufpackagename > /dev/null 2>&1 + return 0 +} + +# 编译protobuf +buildprotobuf() { + mkdir -p $protobufbuilddir/cmake/host_build + cd $protobufbuilddir/cmake/host_build + cmake .. -Dprotobuf_BUILD_TESTS=OFF > `pwd`/build.log 2>&1 + make -j4 VERBOSE=1 >> build.log 2>&1 + ./protoc --version + if [ "$?" != "0" ];then + echo "compile linux protoc fail" + return 3 + fi + protoc=`pwd`/protoc + cd $OLDPWD + return 0 +} + +prepare() { + downloadprotobuf + ret=$? + if [ "$ret" != "0" ];then + return $ret + fi + buildprotobuf + ret=$? + if [ "$ret" != "0" ];then + return $ret + fi + if $patchflag + then + cd $builddir + # 打补丁说明以下: + # 1、tink_test_aead__internal_ssl_aead_large_inputs_test用例会抛异常:C++ exception with description "std::bad_alloc" thrown in the test body,会crash导致系统重启因此屏蔽掉,已验证linux上原库此用例也会fail。 + # 2、bn_util_test.cc编译报错cannot be narrowed to type 'unsigned int' [-Wc++11-narrowing],调整BN_ULONG->unsigned long long。 + # 3、TinkBuildRules.cmake脚本中COMMAND protobuf::protoc编译会报错not found,调整protobuf::protoc改成变量通过参数形式传入。 + # 4、cmake脚本中没有install命令。 + patch -p1 < `pwd`/../tink_oh_pkg.patch + patchflag=false + cd $OLDPWD + fi + mkdir -p $builddir/$ARCH-build +} + +build() { + cd $builddir + ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" -DPROTOBUF_PROTOC_EXECUTABLE=$protoc \ + -DTINK_USE_INSTALLED_GOOGLETEST=ON -DTINK_USE_SYSTEM_OPENSSL=ON -DTINK_BUILD_TESTS=ON \ + -DOHOS_ARCH=$ARCH -B$ARCH-build -S./ -L > `pwd`/$ARCH-build/build.log 2>&1 + make VERBOSE=1 -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 + ret=$? + cd $OLDPWD + + return $ret +} + +package() { + cd $builddir + make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1 + ret=$? + cd $OLDPWD + unset protoc + return $ret +} + +check() { + echo "The test must be on an OpenHarmony device!" + # 在OpenHarmony开发板中执行用例 + # ctest +} + +cleanbuild() { + rm -rf ${PWD}/$builddir $protobufbuilddir # ${PWD}/$packagename ${PWD}/$protobufpackagename +} diff --git a/thirdparty/tink/OAT.xml b/thirdparty/tink/OAT.xml new file mode 100644 index 0000000000000000000000000000000000000000..f1567af83b6ed08f8f1106dd429617830ca4cbb2 --- /dev/null +++ b/thirdparty/tink/OAT.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/tink/README.OpenSource b/thirdparty/tink/README.OpenSource new file mode 100644 index 0000000000000000000000000000000000000000..70f3b6d2a27b8956410b948aea9accfa98c075f2 --- /dev/null +++ b/thirdparty/tink/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "tink", + "License": "Apache License 2.0", + "License File": "LICENSE", + "Version Number": "v1.7.0", + "Owner": "3415239542@qq.com", + "Upstream URL": "https://github.com/google/tink/archive/refs/tags/v1.7.0.tar.gz", + "Description": "A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse" + } +] diff --git a/thirdparty/tink/README_zh.md b/thirdparty/tink/README_zh.md new file mode 100644 index 0000000000000000000000000000000000000000..61ef26365c16d2fba81a7c7cc92c448adb723a63 --- /dev/null +++ b/thirdparty/tink/README_zh.md @@ -0,0 +1,11 @@ +# tink三方库说明 +## 功能简介 +tink一个多语言、跨平台的库,提供安全、易于正确使用且难以滥用的加密API。 +## 使用约束 +- IDE版本:DevEco Studio 3.1 Release +- SDK版本:ohos_sdk_public 4.0.8.1 (API Version 10 Release) +- 三方库版本:v1.7.0 +- 当前适配的功能:安全加密 + +## 集成方式 ++ [应用hap包集成](docs/hap_ingtegrate.md) diff --git a/thirdparty/tink/SHA512SUM b/thirdparty/tink/SHA512SUM new file mode 100644 index 0000000000000000000000000000000000000000..a835870073c70a181687ba25b893b2ddad3f5769 --- /dev/null +++ b/thirdparty/tink/SHA512SUM @@ -0,0 +1,2 @@ +17347440c1fd40490f97cf94de1fb4bd3d407d8fbdc156c8b1ee592dbc29d8ba305633916db94746d4a15ca2da206f2fa999f805ea8b624fda9af6e0083e78d0 tink-1.7.0.tar.gz +3909ae065b31f0015d9ecf3fd5219dbbc49d2efe2f9f081b24104daa031f3fd32ed6be31996a71a61d60822fadc7096b894603248344787e511893a90d516499 tink_oh_pkg.patch diff --git a/thirdparty/tink/docs/hap_ingtegrate.md b/thirdparty/tink/docs/hap_ingtegrate.md new file mode 100644 index 0000000000000000000000000000000000000000..5e5ad3f52751e1dd5a716b48bbc82fa3c7daeda3 --- /dev/null +++ b/thirdparty/tink/docs/hap_ingtegrate.md @@ -0,0 +1,363 @@ +# tink集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 4.0.8.1 (API Version 10 Release)](https://gitee.com/link?target=http%3A%2F%2Fdownload.ci.openharmony.cn%2Fversion%2FMaster_Version%2FOpenHarmony_4.0.8.1%2F20230608_091058%2Fversion-Master_Version-OpenHarmony_4.0.8.1-20230608_091058-ohos-sdk-public.tar.gz) +- [DevEco Studio 3.1 Release](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2F81%2Fv3%2FtgRUB84wR72nTfE8Ir_xMw%2Fdevecostudio-windows-3.1.0.501.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230621T074329Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D22F6787DF6093ECB4D4E08F9379B114280E1F65DA710599E48EA38CB24F3DBF2) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) +## 编译三方库 +- 下载本仓库 + ``` + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` +- 三方库目录结构 + ``` + tpc_c_cplusplus/thirdparty/tink #三方库tink的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── tink_oh_pkg.patch #补丁 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将tink、googletest、openssl拷贝至tools/main目录下 + ``` + cd tpc_c_cplusplus + cp thirdparty/tink tools/main -rf + cp thirdparty/googletest tools/main -rf + cp thirdparty/openssl tools/main -rf + ``` +- 在tools目录下编译三方库 + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + ``` + cd tools + ./build.sh tink + ``` +- 三方库头文件及生成的库 + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + ``` + tink/arm64-v8a tink/armeabi-v7a + googletest/arm64-v8a googletest/armeabi-v7a + openssl/arm64-v8a openssl/armeabi-v7a + ``` + +- [测试三方库](#测试三方库) + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库和依赖库拷贝到该目录下,如下图所示 +   + ![thirdparty_install_dir](pic/tink_install_dir.jpg) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句 + ```shell + #将三方库加入工程中 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libcrypto.so.1.1) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libssl.so.1.1) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest/${OHOS_ARCH}/lib/libgmock.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest/${OHOS_ARCH}/lib/libgmock_main.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest/${OHOS_ARCH}/lib/libgtest.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest/${OHOS_ARCH}/lib/libgtest_main.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_core_keyset_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_binary_keyset_reader.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_binary_keyset_writer.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_cleartext_keyset_handle.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_crypto_format.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_json_keyset_reader.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_json_keyset_writer.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_keyset_handle.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_kms_clients.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/libtink_internal_core_version.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_aead_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_aead_factory.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_aead_key_templates.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_aead_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_aes_ctr_hmac_aead_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_cord_aead_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_failing_aead.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_kms_envelope_aead.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/libtink_internal_aead_kms_envelope_aead_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/internal/libtink_internal_aead__internal_aead_from_zero_copy.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/internal/libtink_internal_aead__internal_aead_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/internal/libtink_internal_aead__internal_cord_aes_gcm_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/internal/libtink_internal_aead__internal_ssl_aead.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/internal/libtink_internal_aead__internal_wycheproof_aead.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/internal/libtink_internal_aead__internal_zero_copy_aead_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/aead/internal/libtink_internal_aead__internal_zero_copy_aes_gcm_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/config/libtink_internal_config_config_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/config/libtink_internal_config_tink_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/config/libtink_internal_config_tink_fips.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/daead/libtink_internal_daead_deterministic_aead_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/daead/libtink_internal_daead_deterministic_aead_factory.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/daead/libtink_internal_daead_deterministic_aead_key_templates.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/daead/libtink_internal_daead_deterministic_aead_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/daead/libtink_internal_daead_failing_daead.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/daead/subtle/libtink_internal_daead__subtle_aead_or_daead.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_ecies_aead_hkdf_dem_helper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_ecies_aead_hkdf_hybrid_decrypt.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_ecies_aead_hkdf_hybrid_encrypt.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_ecies_aead_hkdf_private_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_ecies_aead_hkdf_public_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_failing_hybrid.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_hybrid_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_hybrid_decrypt_factory.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_hybrid_decrypt_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_hybrid_encrypt_factory.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_hybrid_encrypt_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/hybrid/libtink_internal_hybrid_hybrid_key_templates.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_aes_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_bn_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_ec_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_err_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_fips_utils.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_key_info.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_md_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_registry_impl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_rsa_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_test_file_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/internal/libtink_internal_internal_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/libtink_internal_jwt_jwk_set_converter.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/libtink_internal_jwt_jwt_key_templates.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/libtink_internal_jwt_jwt_mac_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/libtink_internal_jwt_jwt_signature_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/libtink_internal_jwt_jwt_validator.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/libtink_internal_jwt_raw_jwt.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/libtink_internal_jwt_verified_jwt.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_json_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_ecdsa_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_ecdsa_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_hmac_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_mac_impl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_mac_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_public_key_sign_impl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_public_key_sign_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_public_key_verify_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_rsa_ssa_pkcs1_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_rsa_ssa_pkcs1_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_rsa_ssa_pss_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_jwt_rsa_ssa_pss_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_raw_jwt_ecdsa_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_raw_jwt_ecdsa_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_raw_jwt_hmac_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_raw_jwt_rsa_ssa_pkcs1_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_raw_jwt_rsa_ssa_pkcs1_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_raw_jwt_rsa_ssa_pss_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/jwt/internal/libtink_internal_jwt__internal_raw_jwt_rsa_ssa_pss_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/libtink_internal_mac_aes_cmac_parameters.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/libtink_internal_mac_failing_mac.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/libtink_internal_mac_hmac_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/libtink_internal_mac_mac_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/libtink_internal_mac_mac_factory.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/libtink_internal_mac_mac_key_templates.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/libtink_internal_mac_mac_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/internal/libtink_internal_mac__internal_chunked_mac_impl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/mac/internal/libtink_internal_mac__internal_chunked_mac_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/prf/libtink_internal_prf_failing_prfset.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/prf/libtink_internal_prf_hmac_prf_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/prf/libtink_internal_prf_prf_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/prf/libtink_internal_prf_prf_key_templates.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/prf/libtink_internal_prf_prf_set.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_ecdsa_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_ecdsa_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_ed25519_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_ed25519_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_failing_signature.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_public_key_sign_factory.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_public_key_sign_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_public_key_verify_factory.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_public_key_verify_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_rsa_ssa_pkcs1_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_rsa_ssa_pkcs1_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_rsa_ssa_pss_sign_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_rsa_ssa_pss_verify_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_sig_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_signature_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_signature_key_templates.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/signature/libtink_internal_signature_signature_pem_keyset_reader.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/streamingaead/libtink_internal_streamingaead_aes_ctr_hmac_streaming_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/streamingaead/libtink_internal_streamingaead_aes_gcm_hkdf_streaming_key_manager.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/streamingaead/libtink_internal_streamingaead_buffered_input_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/streamingaead/libtink_internal_streamingaead_decrypting_input_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/streamingaead/libtink_internal_streamingaead_decrypting_random_access_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/streamingaead/libtink_internal_streamingaead_streaming_aead_config.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/streamingaead/libtink_internal_streamingaead_streaming_aead_key_templates.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/streamingaead/libtink_internal_streamingaead_streaming_aead_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aead_test_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_cmac_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_ctr_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_ctr_hmac_streaming.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_eax_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_gcm_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_gcm_hkdf_stream_segment_decrypter.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_gcm_hkdf_stream_segment_encrypter.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_gcm_hkdf_streaming.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_gcm_siv_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_aes_siv_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_common_enums.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_decrypting_random_access_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_ecdsa_sign_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_ecdsa_verify_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_ecies_hkdf_recipient_kem_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_ecies_hkdf_sender_kem_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_ed25519_sign_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_ed25519_verify_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_encrypt_then_authenticate.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_hkdf.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_hmac_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_hybrid_test_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_nonce_based_streaming_aead.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_pem_parser_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_random.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_rsa_ssa_pkcs1_sign_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_rsa_ssa_pkcs1_verify_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_rsa_ssa_pss_sign_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_rsa_ssa_pss_verify_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_stateful_hmac_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_streaming_aead_decrypting_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_streaming_aead_encrypting_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_streaming_aead_test_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_streaming_mac_impl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_subtle_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_test_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_wycheproof_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/libtink_internal_subtle_xchacha20_poly1305_boringssl.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/prf/libtink_internal_subtle__prf_hkdf_streaming_prf.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/prf/libtink_internal_subtle__prf_prf_set_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/subtle/prf/libtink_internal_subtle__prf_streaming_prf_wrapper.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_buffer.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_constants.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_enums.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_fake_kms_client.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_file_input_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_file_random_access_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_input_stream_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_istream_input_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_keyset_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_ostream_output_stream.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_test_keyset_handle.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_test_util.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_internal_util_validation.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/cc/util/libtink_util_status.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_cmac_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_cmac_prf_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_ctr_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_ctr_hmac_aead_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_ctr_hmac_streaming_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_eax_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_gcm_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_gcm_hkdf_streaming_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_gcm_siv_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_aes_siv_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_cached_dek_aead_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_cached_dek_envelope_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_chacha20_poly1305_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_common_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_config_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_ecdsa_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_ecies_aead_hkdf_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_ed25519_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_empty_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_hkdf_prf_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_hmac_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_hmac_prf_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_hpke_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_jwt_ecdsa_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_jwt_hmac_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_jwt_rsa_ssa_pkcs1_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_jwt_rsa_ssa_pss_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_kms_aead_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_kms_envelope_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_prf_based_deriver_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_rsa_ssa_pkcs1_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_rsa_ssa_pss_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_test_proto_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_tink_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/proto/libtink_internal_proto_xchacha20_poly1305_cc_proto.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/base/libabsl_base.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/base/libabsl_log_severity.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/base/libabsl_malloc_internal.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/base/libabsl_raw_logging_internal.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/base/libabsl_spinlock_wait.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/container/libabsl_hashtablez_sampler.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/container/libabsl_raw_hash_set.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/debugging/libabsl_debugging_internal.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/debugging/libabsl_demangle_internal.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/debugging/libabsl_symbolize.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/debugging/libabsl_stacktrace.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/hash/libabsl_city.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/hash/libabsl_hash.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/hash/libabsl_low_level_hash.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/numeric/libabsl_int128.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/profiling/libabsl_exponential_biased.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/status/libabsl_status.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/status/libabsl_statusor.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/strings/libabsl_cord.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/strings/libabsl_cord_internal.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/strings/libabsl_cordz_functions.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/strings/libabsl_cordz_handle.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/strings/libabsl_cordz_info.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/strings/libabsl_str_format_internal.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/strings/libabsl_strings.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/strings/libabsl_strings_internal.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/synchronization/libabsl_graphcycles_internal.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/synchronization/libabsl_synchronization.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/time/libabsl_civil_time.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/time/libabsl_time.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/time/libabsl_time_zone.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/types/libabsl_bad_optional_access.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/types/libabsl_bad_variant_access.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_absl/build/absl/types/libabsl_bad_variant_access.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_protobuf/build/libprotobuf.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_protobuf/build/libprotobuf-lite.a) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/lib/__third_party/com_google_protobuf/build/libprotoc.a) + #将三方库的头文件加入工程中 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/googletest/${OHOS_ARCH}/include) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/openssl/${OHOS_ARCH}/include) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/include/cc) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/include/__third_party/com_google_absl) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/include/__third_party/com_google_protobuf) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/tink/${OHOS_ARCH}/include/__third_party/rapidjson) + + ``` + +![tink_usage_1](pic/tink_usage_1.jpg) + +![tink_usage_2](pic/tink_usage_2.jpg) + +![tink_usage_3](pic/tink_usage_3.jpg) + +![tink_usage_4](pic/tink_usage_4.jpg) + +![tink_usage_5](pic/tink_usage_5.jpg) + +![tink_usage_6](pic/tink_usage_6.jpg) + +![tink_usage_7](pic/tink_usage_7.jpg) + +![tink_usage_8](pic/tink_usage_8.jpg) + +![tink_usage_9](pic/tink_usage_9.jpg) + + +## 测试三方库 +三方库的测试使用原库自带的测试用例来做测试,[准备三方库测试环境](../../../tools/README.md#ci环境准备) + +- 将编译生成的可执行文件及生成的动态库准备好 + +- 将准备好的文件推送到开发板,进入到构建的目录执行ctest + + ![tink_test](pic/tink_test.jpg) + +## 参考资料 +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) diff --git a/thirdparty/tink/docs/pic/tink_install_dir.jpg b/thirdparty/tink/docs/pic/tink_install_dir.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b7ea61cc08832abd60b728f2a15bbda3ccbf2db Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_install_dir.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_test.jpg b/thirdparty/tink/docs/pic/tink_test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..27163d513f9acd49578949248e359b2517871379 Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_test.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_1.jpg b/thirdparty/tink/docs/pic/tink_usage_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2425c19af63045105f7fc99dc33d41cae63327fe Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_1.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_2.jpg b/thirdparty/tink/docs/pic/tink_usage_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a96080f53ec406312d986edfc18eda0feacae91b Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_2.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_3.jpg b/thirdparty/tink/docs/pic/tink_usage_3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5688d4dae9247aa453a2470e1efa850878824a1d Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_3.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_4.jpg b/thirdparty/tink/docs/pic/tink_usage_4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cfe0b27a8ace9f8d4f2d423ce93896f8d7788450 Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_4.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_5.jpg b/thirdparty/tink/docs/pic/tink_usage_5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a57840b53481ca49acdf4ae477a80cc772fa5a02 Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_5.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_6.jpg b/thirdparty/tink/docs/pic/tink_usage_6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b6651f97ad1f29054edaee17920dac11793f306 Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_6.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_7.jpg b/thirdparty/tink/docs/pic/tink_usage_7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..82d794bd4c73a516abfc5f5bd5604be9f8625a29 Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_7.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_8.jpg b/thirdparty/tink/docs/pic/tink_usage_8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3bbe2d19b58c7d975e57fe9f7e69f48fad509d67 Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_8.jpg differ diff --git a/thirdparty/tink/docs/pic/tink_usage_9.jpg b/thirdparty/tink/docs/pic/tink_usage_9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..541c2d9f60836df3bb2c13370e233236b261dd0d Binary files /dev/null and b/thirdparty/tink/docs/pic/tink_usage_9.jpg differ diff --git a/thirdparty/tink/tink_oh_pkg.patch b/thirdparty/tink/tink_oh_pkg.patch new file mode 100644 index 0000000000000000000000000000000000000000..a32e91d30872a34e8e1ae2632dc941e83169a39a --- /dev/null +++ b/thirdparty/tink/tink_oh_pkg.patch @@ -0,0 +1,114 @@ +diff -Naur tink-1.7.0/cc/aead/internal/CMakeLists.txt tink-1.7.0-patch/cc/aead/internal/CMakeLists.txt +--- tink-1.7.0/cc/aead/internal/CMakeLists.txt 2022-08-09 17:54:36.000000000 -0700 ++++ tink-1.7.0-patch/cc/aead/internal/CMakeLists.txt 2023-07-10 21:18:16.805841985 -0700 +@@ -227,25 +227,25 @@ + tink::util::test_matchers + ) + +-tink_cc_test( +- NAME ssl_aead_large_inputs_test +- SRCS +- ssl_aead_large_inputs_test.cc +- DEPS +- tink::aead::internal::ssl_aead +- gmock +- absl::flat_hash_set +- absl::memory +- absl::status +- absl::strings +- absl::span +- tink::config::tink_fips +- tink::internal::ssl_util +- tink::subtle::subtle_util +- tink::util::secret_data +- tink::util::statusor +- tink::util::test_matchers +-) ++#tink_cc_test( ++# NAME ssl_aead_large_inputs_test ++# SRCS ++# ssl_aead_large_inputs_test.cc ++# DEPS ++# tink::aead::internal::ssl_aead ++# gmock ++# absl::flat_hash_set ++# absl::memory ++# absl::status ++# absl::strings ++# absl::span ++# tink::config::tink_fips ++# tink::internal::ssl_util ++# tink::subtle::subtle_util ++# tink::util::secret_data ++# tink::util::statusor ++# tink::util::test_matchers ++#) + + tink_cc_test( + NAME zero_copy_aead_wrapper_test +diff -Naur tink-1.7.0/cc/internal/bn_util_test.cc tink-1.7.0-patch/cc/internal/bn_util_test.cc +--- tink-1.7.0/cc/internal/bn_util_test.cc 2022-08-09 17:54:36.000000000 -0700 ++++ tink-1.7.0-patch/cc/internal/bn_util_test.cc 2023-07-10 01:43:05.570363334 -0700 +@@ -145,13 +145,13 @@ + internal::SslUniquePtr bn(BN_new()); + BN_set_word(bn.get(), /*value=*/0x0fffffffffffffffUL); + EXPECT_EQ(CompareBignumWithWord(bn.get(), /*word=*/0x0fffffffffffffffL), 0); +- std::vector smaller_words = { ++ std::vector smaller_words = { + 0x0000000000000000UL, 0x0000000000000001UL, 0x00ffffffffffffffUL}; + for (const auto& word : smaller_words) { + EXPECT_GT(CompareBignumWithWord(bn.get(), word), 0) + << absl::StrCat("With value: 0x", absl::Hex(word)); + } +- std::vector larger_words = {0x1000000000000000UL, ++ std::vector larger_words = {0x1000000000000000UL, + 0xffffffffffffffffUL}; + for (const auto& word : larger_words) { + EXPECT_LT(CompareBignumWithWord(bn.get(), word), 0) +diff -Naur tink-1.7.0/cmake/TinkBuildRules.cmake tink-1.7.0-patch/cmake/TinkBuildRules.cmake +--- tink-1.7.0/cmake/TinkBuildRules.cmake 2022-08-09 17:54:36.000000000 -0700 ++++ tink-1.7.0-patch/cmake/TinkBuildRules.cmake 2023-07-07 23:02:29.621966356 -0700 +@@ -245,7 +245,7 @@ + list(APPEND tink_cc_proto_GEN_SRCS ${_gen_srcs}) + + add_custom_command( +- COMMAND protobuf::protoc ++ COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} + ARGS + --cpp_out "${TINK_GENFILE_DIR}" + -I "${PROJECT_SOURCE_DIR}" +@@ -253,7 +253,7 @@ + OUTPUT + ${_gen_srcs} + DEPENDS +- protobuf::protoc ++ ${PROTOBUF_PROTOC_EXECUTABLE} + ${_src_absolute_path} + COMMENT "Running CXX protocol buffer compiler on ${_src_path}" + VERBATIM +diff -Naur tink-1.7.0/CMakeLists.txt tink-1.7.0-patch/CMakeLists.txt +--- tink-1.7.0/CMakeLists.txt 2022-08-09 17:54:36.000000000 -0700 ++++ tink-1.7.0-patch/CMakeLists.txt 2023-07-13 21:38:14.300635737 -0700 +@@ -36,3 +36,22 @@ + + add_subdirectory(cc) + add_subdirectory(proto) ++ ++install(DIRECTORY cc DESTINATION include ++ FILES_MATCHING PATTERN PATTERN "*.h") ++install(DIRECTORY ${OHOS_ARCH}-build/__third_party/com_google_absl/src/absl DESTINATION include/__third_party/com_google_absl ++ FILES_MATCHING PATTERN PATTERN "*.h") ++install(DIRECTORY ${OHOS_ARCH}-build/__third_party/com_google_protobuf/src/src/google/protobuf DESTINATION include/__third_party/com_google_protobuf ++ FILES_MATCHING PATTERN PATTERN "*.h") ++install(DIRECTORY ${OHOS_ARCH}-build/__third_party/rapidjson/src/include/rapidjson DESTINATION include/__third_party/rapidjson ++ FILES_MATCHING PATTERN PATTERN "*.h") ++install(DIRECTORY ${OHOS_ARCH}-build/cc DESTINATION lib ++ FILES_MATCHING PATTERN PATTERN "*.a") ++install(DIRECTORY ${OHOS_ARCH}-build/proto DESTINATION lib ++ FILES_MATCHING PATTERN PATTERN "*.a") ++install(DIRECTORY ${OHOS_ARCH}-build/__third_party/com_google_absl/build DESTINATION lib/__third_party/com_google_absl ++ FILES_MATCHING PATTERN PATTERN "*.a") ++install(DIRECTORY ${OHOS_ARCH}-build/__third_party/com_google_protobuf/build DESTINATION lib/__third_party/com_google_protobuf ++ FILES_MATCHING PATTERN PATTERN "*.a") ++ ++