OpenSSL的编译 - 弦外之音

/ 0评 / 0

OpenSSL 是一个C语言的开源项目,提供了一个 强壮的通用密码学库,并且基于这个密码学库 实现了 TLS 协议。OpenSSL 开源项目主要分为 3 部分,如下:

1,libssl ,基于 libcrypto 实现的 TLS 库,,支持 TLSv1.3 协议版本的功能。

2,libcrypto,通用密码学库,这个库支持各种加密解码,摘要算法,例如:AES、DES、MD5 等等,还有一些非对称加密算法。

3,openssl,一个命令行程序,方便进行各种加密解码的测试任务。


本文主要讲解 OpenSSL 在 Windows 平台的编译安装,可以先从 GitHub 下载 OpenSSL_1_1_1b 的源代码,放到 F 盘目录下,如下图:

OpenSSL 在 Windows 平台的编译依赖于 Strawberry PerlNASM ,必须安装好这两个工具,设置好 %PATH% 环境变量,效果如下:

@set path=C:\Users\loken\AppData\Local\bin\NASM;%path%
@set path=C:\Strawberry\perl\bin;%path%

本文使用的 Perl 版本是 5.36,NASM 版本是 2.15.05


然后就可以开始编译 OpenSSL 了,需要用管理员模式进入命令行,命令如下:

F:
cd F:\work\tony\openssl-OpenSSL_1_1_1b
perl Configure VC-WIN64A
nmake
nmake test
nmake install

Perl 是一门简单的语言,提供了一些类似 awk,grep 的语法,推荐阅读《Perl语言入门》。

上面的命令运行完成之后,OpenSSL 就会被安装到 %ProgramW6432%\OpenSSL%CommonProgramW6432%\SSL 目录,如下:

lib 目录下面有两个库比较重要:

libcrypto.lib,这是各种加解密函数算法的库。

libssl.lib,TSL 协议的库


下面就用一个小例子,来演示如何使用 libcrypto 库,代码在 GitHub

提醒:OpenSSL 的版本更新比较大,本文使用的版本是 1.1.1b,如果是 3.0 的版本,会有很多函数弃用了。


参考文章:

1,《OpenSSL源码编译安装


我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=wlrvskg8611p

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注