当前位置:网站首页>交叉编译 OpenSSL
交叉编译 OpenSSL
2022-08-09 14:58:00 【iBlackAngel】
概述
OpenSSL 是一个健壮的、商业级的、功能齐全的开源工具包,用于传输层安全协议(TLS, Transport Layer Security),以前称为安全套接字层(SSL, Secure Sockets Layer)协议。协议实现基于一个完整的通用加密库,该库也可以独立使用。
OpenSSL 是 Eric A. Young 和 Tim J. Hudson 由 SSLeay 库开发演变而来的。
OpenSSL 项目官方网址:https://www.openssl.org
OpenSSL toolkit 包含:
- libssl 所有 TLS 协议的实现 (TLSv1.3)
- libcrypto 一个全强度通用加密库。它构成 TLS 实现的基础,但也可以独立使用。
- openssl OpenSSL 命令行工具,一把瑞士军刀,用于加解密任务,测试与分析。

下载
量产使用
可以从 https://www.openssl.org/source 下载官方发行版本的源码压缩包。
最新的稳定版本是支持到 2026 年 9 月 7 日的 3.0 系列,这也是一个长期支持(LTS, Long Term Support)版本。先前的 LTS 版本(1.1.1系列)也可用,并支持到 2023 年 9 月 11 日。所有旧版本(包括1.1.0、1.0.2、1.0.0 和 0.9.8)现在都不受支持,不应使用。OpenSSL 官方鼓励这些旧版本的用户尽快升级到 3.0。
扩展阅读:OpenSSL 3.0 正式发布
开发及测试使用
这里面的“开发及测试”主要是指针对 OpenSSL 项目本身而言。虽然理论上也可以使用源码压缩包进行测试和开发,但拥有一个包含整个项目历史的 git 仓库的本地副本,可以让您更深入地了解代码库。
- 官方 OpenSSL Git 仓库:https://git.openssl.org
- GitHub 镜像:https://github.com/openssl/openssl
每次前者有提交时它都会自动更新。
编译
当下载了源码包,解压缩之后,务必先阅读一下 INSTALL 文件,里面有关于交叉编译的关键信息点。
解压缩源码包
tar -xvf openssl-1.1.1n.tar.gz确保交叉编译器已经配置在
$PATH环境变量中,在该示例中aarch64-linux-gcc编译器位于/work/.../bin目录下:export PATH=$PATH:/work/sdk/nvidia/nvidia_6.0.1.0/toolchains/aarch64--glibc--stable-2020.08-1/bin交叉编译指令
mkdir output ./config no-asm --prefix=$(pwd)/output --cross-compile-prefix=aarch64-linux-no-asm: 在交叉编译过程中不使用汇编代码代码加速编译过程--prefix: 指定生成的头文件及库的路径,不修改此项则默认为/usr/local目录--cross-compile-prefix: 指定交叉编译工具链命令的前缀,很可能必须以破折号结尾,例如aarch64-linux-将 GNU 编译器作为aarch64-linux-gcc调用,等等。
修改 Makefile 文件,将
-m64移除,否则会出现编译报错:aarch64-linux-gcc.br_real: error: unrecognized command line option '-m64'移除后保存 Makefile,就可以继续执行编译了:
make make install
最后,生成在 --prefix 指定的目录下,在该示例中 openssl 生成在 output 目录。
边栏推荐
- 你知道亚马逊代运营的成本是多少吗?
- YOLOV1详解
- 《平凡的世界》(书评)
- 【工具使用】Modscan32软件使用详解
- 【论文阅读】Deep Learning for Image Super-resolution: A Survey(DL超分辨率最新综述)
- How to ensure that the data cannot be recovered after the computer hard drive is formatted?
- MIUI12.1.5安装google App store,无需ROOT,不闪退
- pyspark jieba 集群模型 对文本进行切词
- function calling convention
- 【研究生工作周报】(第五周)
猜你喜欢
随机推荐
微信小程序自定义日期选择器(带标题的)
链游是什么意思 链游和游戏的区别是什么
深入浅出最优化(4) 拟牛顿法
LeNet5 pytorch实现
微信小程序禁止页面左右滑动
Postgraduate Work Weekly (Week 6)
【Postgraduate Work Weekly】(Week 8)
如何正确使用防关联浏览器
Xgboost系列-XGB实际参数调优指南附源码
hugging face tutorial-Chinese translation-pipeline-based reasoning
GoogLeNet
浏览器指纹识别是什么意思?
嵌入式三级笔记
Visio画神经网络卷积层
抱抱脸(hugging face)教程-中文翻译-共享定制模型
研究生工作周报(第四周)
【深度学习】梳理范数与正则化(二)
【The sword refers to Offer II 091. Paint the house】
【深度学习】原始问题和对偶问题(六)
【深度学习】梳理凸优化问题(五)









