Advertisement

openssl-1.1.1g的编译及交叉编译方法(以rar格式压缩)。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
以下介绍在Linux环境下编译和交叉编译OpenSSL 1.1.1g生成动态库和静态库的方法: 一、编译Linux版本: 1. 将OpenSSL 1.1.1g的压缩包(openssl-1.1.1g.tar.gz)复制到/opt目录下。 2. 使用tar命令解压缩该压缩包:`tar -zxvf openssl-1.1.1g.tar.gz`。 3. 创建一个名为“build”的目录用于存放编译过程中的文件。 4. 执行./config命令,设置安装前缀为/opt/openssl-1.1.1g/linux_build。 5. 使用make命令进行编译。 6. 执行make install命令,完成编译过程。 二、编译ARM版本: 1. 将OpenSSL 1.1.1g的压缩包(openssl-1.1.1g.tar.gz)复制到/opt目录下。 2. 使用tar命令解压缩该压缩包:`tar -zxvf openssl-1.1.1g.tar.gz`。 3. 创建一个名为“arm_build”的目录用于存放编译过程中的文件。 4. 执行./config命令,不包含Assembly代码,并指定共享库生成,同时设置安装前缀为/opt/openssl-1.1.1g/arm_build/,使用ARM Linux GCC和C++编译器。具体参数如下: `CC=${绝对路径名}/arm-linux-gcc CXX=${绝对路径名}/arm-linux-g++` 。 5.使用make命令进行编译。如果执行过程中遇到“-m64”错误,请使用vim编辑器打开Makefile文件,找到“-m64”这一行并将其删除,然后重新执行make命令。 6.执行make install命令,完成ARM版本的编译安装过程。 编译器版本说明: gcc (GCC) 8.3.1 20190507 (Red Hat 8.3.1-4) arm-linux-gcc (Buildroot 2016, 9, 29) 5,4,0 编译完成后,可用的库文件将存放于以下位置: Linux版本:在 linux_build 目录下; ARM版本:在 arm_build 目录下。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • OpenSSL-1.1.1g.rar
    优质
    本资源详细介绍了如何在不同操作系统环境下对OpenSSL 1.1.1g版本进行标准编译及交叉编译的方法,适用于开发者和安全研究人员。 在Linux环境下编译/交叉编译openssl-1.1.1g生成动态库和静态库的方法如下: 一、编译Linux版本 1. 将文件openssl-1.1.1g.tar.gz复制到/opt目录下。 2. 解压tar包:`tar -zxvf openssl-1.1.1g.tar.gz` 3. 创建一个名为build的目录用于存放生成的目标文件和库文件。 4. 运行配置命令,指定安装路径为 /opt/openssl-1.1.1g/linux_build: `./config --prefix=/opt/openssl-1.1.1g/linux_build` 5. 编译源代码:`make` 6. 安装编译好的库文件到之前设置的目录中:`make install` 二、交叉编译ARM版本 步骤与Linux版类似,但需要指定特定于目标平台(例如ARM)的工具链。 1. 将openssl-1.1.1g.tar.gz复制至/opt。 2. 解压tar包: `tar -zxvf openssl-1.1.1g.tar.gz` 3. 创建一个名为arm_build的新目录用于存放生成的目标文件和库文件。 4. 运行配置命令,指定安装路径为 /opt/openssl-1.1.1g/arm_build,并使用ARM的GCC编译器:`./config no-asm -shared --prefix=/opt/openssl-1.1.1g/arm_build CC=${绝对路径名}/arm-linux-gcc CXX=${绝对路径名}/arm-linux-g++` 5. 编译源代码: `make` 如果在交叉编译过程中遇到“-m64”错误,需要手动编辑Makefile文件并删除该选项。然后重新执行`make`。 完成之后安装生成的库: 1. 完成以上步骤后运行:`make install` 注意:使用的是gcc (GCC) 8.3.1 版本和 arm-linux-gcc 5.4.0版本进行编译。 最终,Linux版的库文件将被放置在linux_build目录下;而ARM版本的库则会被安装到arm_build目录中。
  • OpenSSL 1.1.1g 头文件(MINGW)
    优质
    这段简介可以描述为:OpenSSL 1.1.1g for MINGW提供了该版本的编译库和头文件,支持Windows环境下的安全通信协议实现。 这段文字简洁明了地介绍了资源的核心内容和适用场景。长度45字,符合要求。如果需要更详细的描述可以继续添加相关信息。 OpenSSL 是一个强大的安全套接字层密码库,包含了各种主要的密码算法、常用的密钥和证书封装管理功能以及 SSL 协议,并提供丰富的应用程序用于测试或其他目的。 标题提到的 openssl1.1.1.g 编译好的库和头文件(mingw)指的是针对 MinGW 环境编译的 OpenSSL 1.1.1.g 版本的静态库和头文件。这个压缩包通常被 Windows 下的开发者用来在不依赖 Visual Studio 等大型 IDE 的情况下进行 C 或 C++ 编程,利用 OpenSSL 功能。 MinGW 是一个可自由使用且开源的 Windows 开发环境,它提供了 GCC 和一些必要的库,使得开发人员可以在 Windows 上使用类似 Linux 的命令行工具来编译和链接程序。 OpenSSL 1.1.1.g 是 OpenSSL 的一个稳定版本,包含了许多安全修复和性能优化。以下是一些关于 OpenSSL 库和头文件的重要知识点: 1. **安装与配置**:在使用这个压缩包之前,请确保已经安装了 MinGW,并将解压后的库文件(如 libeay32.a、ssleay32.a 等)和头文件(位于 include 目录下)添加到编译路径中,这样编译器才能找到它们。 2. **编译链接 OpenSSL**:在项目中使用 OpenSSL 时,需要在编译命令中指定链接库。例如: ``` gcc your_source.c -lssl -lcrypto -L pathtoopenssllibs ``` 其中 `-lssl` 和 `-lcrypto` 分别是链接 SSL 和 Crypto 库的参数,而 `-L` 参数指定了库文件路径。 3. **API 使用**:OpenSSL 提供了大量的 API,包括用于加密解密的 `EVP` 系列函数、证书操作的 `X509` 和 `PEM` 函数以及 SSL 连接相关的 `SSL_CTX` 和 `SSL` 结构体等。头文件如 `opensslssl.h`, `opensslevp.h`, `opensslx509.h` 定义了这些接口。 4. **SSL/TLS 协议**:OpenSSL 实现了 SSL(Secure Socket Layer)和 TLS(Transport Layer Security)协议,用于建立安全的网络通信。开发者可以使用 OpenSSL 创建服务器和客户端的 SSL 连接,并实现数据加密传输。 5. **证书与密钥管理**:OpenSSL 提供处理 X.509 证书及 RSA、DSA 和 ECDSA 密钥的工具,如 `openssl req` 用于生成证书请求,`openssl x509` 处理证书,以及 `openssl genrsa` 和 `openssl ecparam` 生成 RSA 和 ECDSA 密钥对。 6. **安全性更新**:由于 OpenSSL 涉及网络安全问题,保持库的最新版本至关重要。定期检查并升级到最新版本可以避免已知的安全漏洞。 7. **调试与测试**:OpenSSL 提供了一些测试工具(如 `s_client` 和 `s_server`),帮助开发者模拟 SSL 客户端和服务器,并验证 SSL 连接正确性。 8. **错误处理**:在使用 OpenSSL 时,必须妥善处理可能出现的错误。通常,OpenSSL 函数返回值会指示成功或失败状态;可以通过 `ERR_get_error` 和 `ERR_error_string` 获取详细的错误信息。 掌握这些知识点有助于高效、安全地实现各种加密和安全功能,在开发中使用 OpenSSL 1.1.1.g 版本时尤其重要。
  • ARM 2009Q3版本Linux
    优质
    该简介为ARM 2009年第三季度发布的Linux系统下的交叉编译工具链压缩文件,适用于开发人员在非目标平台上构建针对ARM架构的应用程序和系统。 用于在Linux上进行ARM开发的交叉编译器是用来编译嵌入式设备代码的工具。详细配置步骤可以参考相关博客文章。
  • 安装aarch64工具iperf3.1.3.docx
    优质
    本文档详细介绍了如何在开发环境中安装适用于ARM架构(AARCH64)的交叉编译工具,并指导用户使用这些工具来编译iperf3.1.3版本,以便进行网络性能测试。 文档包含完整的例子,并提供了下载链接以确保有用性。在CentOS7环境下进行aarch64(arm64)交叉编译工具的安装,以便在Android下运行iperf3并测试TCP、UDP性能。如果遇到问题,请留言反馈。
  • OpenSSL 1.1.1g 在 Linux64, Win32 和 Win64 下文件
    优质
    本文档详述了如何在Linux64、Win32及Win64环境下为OpenSSL 1.1.1g版本进行编译配置,提供给开发者参考与实践。 openssl1.1.1g在Linux 64位、Windows 32位和Windows 64位环境下的编译文件包括可执行版本及静态库等。
  • SELinux
    优质
    SELinux(安全增强型Linux)交叉编译是指在一种体系结构的机器上生成另一种体系结构的目标代码的过程,用于为嵌入式设备或不同架构服务器构建SELinux环境。 交叉编译SELinux及其依赖的库(lib)是一项复杂的任务,需要仔细规划和准备。首先确保你已经安装了必要的工具链,并且理解目标平台的需求。接下来,根据具体项目需求调整配置选项以适应不同的硬件架构或操作系统版本差异。 在实际操作中可能会遇到各种问题,比如编译错误、链接失败等,解决这些问题通常需要对SELinux的内部机制和相关库的工作原理有深入的理解。此外,在处理跨平台兼容性时要特别注意细节上的区别,确保生成的目标代码可以在目标平台上顺利运行。 总之,成功完成交叉编译不仅能够帮助开发者更高效地管理多平台项目开发流程,还能提高软件产品的适应性和灵活性。
  • Qt5.6
    优质
    本教程详细介绍如何在Qt 5.6环境下进行交叉编译,涵盖设置开发环境、配置编译选项及解决常见问题等内容。 使用arm-cortexa9-linux-gnueabihf-4.9.3-20160512编译工具链交叉编译了QT 5.6版本,源码文件为qt-everywhere-opensource-src-5.6.0.tar.xz。
  • HI3559A OpenCV4.0 - 成品文件
    优质
    本项目提供基于HI3559A平台的OpenCV4.0交叉编译成品和详细编译文件,适用于海思处理器的视觉处理与开发需求。 在Linux环境下使用OpenCV4进行交叉编译以适应hi3559a硬件,并且其他系列的设备也应能适用。使用的编译器路径为/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc。
  • 使用 arm-linux-gcc OpenSSL、zlib 和 curl
    优质
    本项目详细介绍如何在ARM架构设备上使用arm-linux-gcc进行OpenSSL、zlib和curl的交叉编译过程,适用于嵌入式系统开发。 使用arm-linux-gcc交叉编译openssl、zlib和curl需要进行一系列的配置与构建步骤。首先确保已经安装了必要的工具链和其他依赖项。然后根据每个库的具体需求,设置正确的编译选项并执行相应的命令来生成适用于ARM架构的目标代码。 对于openssl: 1. 下载源码包。 2. 配置时指定交叉编译器和目标体系结构。 3. 编译与安装。 对于zlib: 1. 解压源文件。 2. 设置CROSS_COMPILE环境变量指向arm-linux-gcc,然后运行./configure --prefix=/path/to/install --host=arm-linux 3. 执行make && make install命令进行编译和安装。 针对curl的交叉编译过程类似,但需要确保openssl、zlib等依赖项已经正确配置并可供curl使用。在执行curl源码目录下的configure脚本时同样要指定正确的工具链路径以及目标平台信息,并且可能还需要额外设置一些选项来指明具体的库和头文件位置。 以上步骤仅供参考,请根据实际情况调整参数与命令以满足具体需求。
  • Nginx与部署.rar
    优质
    本资源提供关于如何在不同平台间进行Nginx的交叉编译及其后续部署的详细教程和实践指导。适合需要跨平台支持的技术开发者学习参考。 此安装包是基于海思3559开发移植的Nginx操作步骤指南,包含Nginx与OpenSSL的交叉编译教程及安装包。