欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

openssl-1.0.2t 交叉编译

程序员文章站 2022-07-08 19:22:03
...


一、下载

源码包去如下官网下载:
https://www.openssl.org/source

二、交叉编译

这里以openssl-1.0.2t为例,下载源码包,然后解压
tar zxvf openssl-1.0.2t.tar.gz
cd openssl-1.0.2t/

源码根目录下,配置交叉编译工具链,XXXX为交叉编译工具链,no-asm表示不使用汇编,否则有些平台会编译失败。

./config no-asm --prefix=$PWD/install --cross-compile-prefix=XXXX

编译动态库 ./config 需要加入shared

./config no-asm  -shared --prefix=$PWD/install --cross-compile-prefix=XXXX

打开Makefile,去掉两处-m64的使用,然后执行编译

make
make install

在源码包根目录下的 install 目录获取编译成功的库文件及头文件。

三、查看openssl版本

openssl可执行程序在install目录bin目录下获取。

./openssl version
OpenSSL 1.0.f 6 Jan 2014

如果仅有头文件及库文件如何确认?可通过查看opensslv.h查看

#  define OPENSSL_VERSION_TEXT    "OpenSSL 1.0.2t  10 Sep 2019"

四、查看TLS握手支持的加密方式

使用openssl库常常用于TLS握手,有时会因为当前openssl支持的加密类型服务器不支持而握手失败,可以通过如下命令查看openssl支持的加密类型。openssl可执行程序在install目录bin目录下获取。
./openssl ciphers -v

结果如下:

ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
ECDHE-RSA-AES256-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA1
ECDHE-ECDSA-AES256-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA1
SRP-DSS-AES-256-CBC-SHA SSLv3 Kx=SRP      Au=DSS  Enc=AES(256)  Mac=SHA1
SRP-RSA-AES-256-CBC-SHA SSLv3 Kx=SRP      Au=RSA  Enc=AES(256)  Mac=SHA1
SRP-AES-256-CBC-SHA     SSLv3 Kx=SRP      Au=SRP  Enc=AES(256)  Mac=SHA1
..............
相关标签: 库编译 openssl