libsodium、minisign交叉编译和使用minisign对文件签名及验签

20 篇文章 1 订阅
10 篇文章 0 订阅

libsodium、minisign交叉编译和使用minisign对文件签名及验签

libsodium

下载

git clone https://github.com/jedisct1/libsodium

配置

cd libsodium
./autogen.sh -s
./configure CC=交叉编译器 --host=arm-linux --prefix=`pwd`/_install

编译和安装

make -j8
make install

#拷贝动态库到开发板
cp  _install/lib/libsodium.so.* /usr/lib/

minisign

下载

git clone https://github.com/jedisct1/minisign.git

配置

给CMakeLists.txt打补丁

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7157da4..14a96f1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,11 @@ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
 set(CPACK_PACKAGE_VERSION_MAJOR "0")
 set(CPACK_PACKAGE_VERSION_MINOR "11")
 set(CPACK_PACKAGE_VERSION_PATCH "0")
+set(CMAKE_C_COMPILER_PREFIX arm-linux-gnueabihf-)
+set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
+set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
+set(CMAKE_STRIP arm-linux-gnueabihf-strip)
+
 set(
   CPACK_SOURCE_PACKAGE_FILE_NAME
   "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
@@ -67,9 +72,10 @@ if(STATIC_LIBSODIUM)
   set(LIBSODIUM_LDFLAGS_OTHER ${LIBSODIUM_STATIC_LDFLAGS_OTHER})
 endif()
 
-target_include_directories(minisign PUBLIC ${SODIUM_INCLUDE_DIR})
+target_include_directories(minisign PUBLIC ${SODIUM_INCLUDE_DIR} libsodium/_install/include)
+target_link_directories(minisign PUBLIC libsodium/_install/lib)
 target_compile_options(minisign PUBLIC ${LIBSODIUM_CFLAGS} ${LIBSODIUM_CFLAGS_OTHER})
-target_link_libraries(minisign ${SODIUM_LIBRARY} ${LIBSODIUM_LDFLAGS_OTHER})
+target_link_libraries(minisign libsodium/_install/lib/libsodium.so ${LIBSODIUM_LDFLAGS_OTHER})
 
 set(THREADS_PREFER_PTHREAD_FLAG ON)
 find_package(Threads REQUIRED)

执行cmake生成Makefile

mkdir build.arm
cd build.arm
cmake ..

编译和安装

make -j8

#把minisign拷贝到开发板
cp minisign /usr/bin/

使用

生成证书
#执行该命令后需要设置私钥的使用密码
minisign -Sm public.key -s private.key
签名文件
echo 私钥使用密码 | minisign -Sm 待签名文件 -s private.key -x a.sign
验证签名
minisign -Vm 待验签文件 -P 公钥 -x a.sign
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

omnibots

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值