【国密】Libcurl的Android库编译流程及使用详解

本文详细介绍了如何在Android环境下编译libcurl以支持国密算法SM2/SM3/SM4,包括获取GmSSL源码、编译GmSSL和libcurl,以及将编译后的库添加到Android项目中进行国密通信的方法。

一、概述

本文旨在提供一个Android libcurl 国密库的编译流程和使用详解
国密算法(SM2/SM3/SM4)是中国国家密码管理局颁布的密码算法标准,用于安全通信、数字签名等领域,本文将使用libcurl库,因为它是一个广泛使用的,支持多种协议的网络传输库,所以需要将libcurl库与国密算法结合使用以实现国密通信~

ok,let’s go~

二、编译流程

本文作者环境:
Windows版本: Windows 10
Android NDK版本:r21或更高版本

1.准备环境
确保已安装 Android NDK,设置好ANDROID_NDK_HOME环境变量(此处不再赘述,基本功哈...)
2.获取GmSSL源码
git clone https://github.com/guanzhi/GmSSL.git
3.编译GmSSL

首先进入gmssl文件夹中, 然后创建 ‘build-android’文件夹, 创建该文件夹的目的在于创建编译输出文件,最后执行

./setenv-android.sh

然后运行以下命令

make clean
make
make install

ok~ 至此gmssl的编译就算完成;

4.编译Libcurl
git clone https://github.com/curl/curl.git

进入libcurl源码目录,创建编译输出文件夹,执行以下命令

cd curl
mkdir build-android
cd build-android

创建build.sh脚本文件,并将以下内容复制到文件中

#!/bin/bash

export ANDROID_NDK_HOME=你的Android_NDK路径
export GmSSL_INSTALL_DIR=你的GmSSL安装目录

API_LEVEL=21
ANDROID_ABI="armeabi-v7a with NEON"
ARCH=arm
PLATFORM=android
TOOLCHAIN=${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值