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 Perl 跟 NASM ,必须安装好这两个工具,设置好 %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