1.Qt开发笔记:OpenSSL库介绍、源用windows上mingw32版本的码使OpenSSL编译模块化
2.Windows10下编译64位openssl
3.Linux Ubuntu openssl离线源码安装、升级版本
4.nginx调用openssl函数源码分析
5.CentOS编译安装OpenSSL 3.3.1
6.Windows下编译OpenSSL3.1.1
Qt开发笔记:OpenSSL库介绍、源用windows上mingw32版本的码使OpenSSL编译模块化
OpenSSL介绍
OpenSSL是一个开放源代码的软件库,广泛用于互联网安全通信,源用如网页服务器,码使mfc仿照ce源码它提供SSL和TLS协议以避免数据被窃听,源用并确认连接方的码使身份。SSL协议在Internet上提供秘密性传输,源用成为工业标准,码使加密数据并在传输过程中防止篡改。源用
OpenSSL的码使特点包括:
1. 安全信道特性:数据保密性,信息加密保护数据机密性;数据完整性,源用校验传输数据是码使否被篡改;安全验证,使用密钥作为个人标识。源用
2. 开源特点:OpenSSL由Eric A. Young和Tim J. Hudson自年编写,是一个没有太多限制的开放源代码的软件包。它具有跨平台性能,支持Linux、源码网站视频配音教程Windows、BSD、Mac、VMS等。
3. 功能:OpenSSL软件包主要功能包括SSL协议库、应用程序以及密码算法库。它提供了密码算法、密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
OpenSSL算法包括:
1. 密钥证书管理:提供证书和密钥相关标准的编解码、产生各种公开密钥对和对称密钥的方法、公钥和私钥的编解码以及私钥的加密保护功能。
2. SSL协议:实现了SSLv2、SSLv3和TLSv1.0。
3. 对称加密:提供了8种对称加密算法,包括AES、DES、Blowfish等。rocketmq源码读后感
4. 非对称加密:实现了DH算法、RSA算法、DSA算法和椭圆曲线算法。
5. 信息摘要:实现了MD2、MD5、SHA等5种信息摘要算法。
编译OpenSSL
在Windows上编译OpenSSL需要安装msys环境,将qt的mingw和perl拷贝到msys文件夹下,并添加路径。使用config命令配置安装路径和目录,修改Makefile中的Perl变量,然后执行mingw-make.exe install命令进行编译安装。在配置时可能遇到操作系统类型错误,需要更换为msys1.0。编译过程中可能遇到找不到库定义的问题,解决方法是在配置时加两个参数。编译成功后可以进行测试和文件结构打包,最终获得静态库。印尼燕碎朔源码
入坑问题解决
在编译OpenSSL过程中,可能会遇到Perl调用失败、操作系统类型错误、编译时找不到库定义等问题。解决方法包括修改顶层Makefile的Perl变量、更换为msys1.0、在配置时加两个参数等。最后执行mingw-make.exe install命令并打包文件结构以完成编译过程。
Windows下编译位openssl
在Windows系统下进行位openssl编译,以下为详细步骤:
准备工具:确保安装了Microsoft Visual Studio,并确保已解压openssl源码。
执行编译步骤:
1.前往Microsoft Visual Studio目录,找到并进入vcvarsall.bat所在目录。
2.在该目录中打开命令提示符,执行vcvarsall.bat x_amd命令。
3.切换到openssl源码解压目录,注意确保该cmd窗口与上一步的窗口在同一位置,以便后续命令执行。linux源码编译教程外包
4.在解压目录下,使用perl命令进行配置,命令格式为:D:\openssl\openssl-1.0.2o>perl Configure VC-WINA --prefix=D:\openssl\install。
5.继续执行ms\do_wina命令。
6.执行编译,此步骤可能需要较长时间,命令为:D:\openssl\openssl-1.0.2o>nmake -f ms\nt.mak。
7.继续执行安装命令:D:\openssl\openssl-1.0.2o>nmake -f ms\nt.mak install。
8.完成编译后,打开D:\openssl\install文件夹,即可找到编译好的文件。
个人经验分享:自行编译 openssl 过程中耗时较长,且部分教程表述不够清晰准确,故记录分享以供参考。
Linux Ubuntu openssl离线源码安装、升级版本
Ubuntu ..1
OpenSSL 1.0.2g 1 Mar
官网:openssl.org 下载:openssl.org/source/
官网最新可用生产版本openssl-1.1.1k,openssl-3.0.0-alpha版本是openssl的下一个主要版本,includes the new FIPS Object Module(新特性),预发布版本,不轻易直接用于生产环境。
这次下载openssl-1.1.1k.tar.gz的源码包。
将openssl源码包解压,并进入openssl-1.1.1k文件夹
查看README,了解安装openssl的预制环境条件,已安装过环境。
查看INSTALL,根据Quick Start直接编译。
编译、安装过程中无任何报错,一路畅通,查看openssl版本。
查看版本信息报错,没有libssl.so.1.1依赖文件。搜索发现libssl.so.1.1依赖文件存在,但路径不对。建立软链接后,查看openssl信息依旧报错:libcrypto.so.1.1依赖文件不存在。同样建立软链接,成功更新openssl版本。
成功更新openssl版本后,可以执行openssl命令。
尝试openssl-3.0.0-alpha的预发布版本,除编译命令不一致外,同样需要建立依赖库软链接。
使用以下命令配置、构建和测试:Unix / Linux / macOS,一键安装版本install.sh,openssl-1.1.1k版本。
nginx调用openssl函数源码分析
本文分为两部分,分别是nginx部分和openssl部分。在nginx部分,首先在ngx_/activeperl/downloads/
2)安装与配置:
直接运行安装文件(例如:ActivePerl-5..3.-MSWin-x-.msi)即可完成安装;安装过程将自动完成环境变量的配置(安装完成之后,可以在系统环境变量里看到perl的bin目录(例如: C:\Program Files\perl\site\bin;)已经被加入进来),无需再手工配置;
3)测试安装是否成功:
进入perl安装目录的eg文件夹,执行perl example.pl若显示Hello from ActivePerl!,则说明Perl安装成功。如下图所示:
perl安装成功之后就可以开始使用Perl的相关命令来进行OpenSSL的安装了。
2、openssl可以自己下载源码编译也可以直接下载安装包安装完之后即可使用。
2.1使用源码编译openssl
1) 下载openssl源码的路径:
/blog/static//
下面将使用一个现成的ca文件(ca.key和ca.crt)生成证书文件(client.key和client.crt):
1)创建一个目录用于存放ca文件以及将要生成的证书文件,本例中将该目录创建在outdll目录下:C:\Program Files\openssl-1.0.1g\outdll\test,
2)执行命令生成证书的key文件:..\openssl genrsa -out client.key ,如下图所示:
3) 生成证书请求文件:..\openssl req -out server.csr -key server.key -new
4) 生成证书文件:..\ openssl x -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days
下面是其他网友的补充:
安装环境:
操作系统:window7(位)
C++编译器:VS
工具下载:
下载ActivePerl-5.或5.(其他版本也可以):
下载地址:/activeperl/downloads/ (安装过程只要按照Windows下一般程序的安装步骤进行即可)
下载openssl-1.0.1g(其他版本也可以)并解压
下载地址:http://www.openssl.org/source/(建议解压后的文件路径为C:\openssl,PS:只是为了下文的内容匹配,并且方便寻找,其他路径也无不影响)。
安装Perl
(我的安装目录为C:\Perl)
运行CMD命令,使用cd命令将运行目录指向perl安装目录的eg文件夹, 执行perl example.pl若显示Hello from ActivePerl!,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。
(PS:如果你想看看原始的INSTALL文件,那么请打开OpenSSL的解压缩目录,下面有两个文件INSTALL.W和INSTALL.W,用记事本方式打开,你可以看到详细的关于安装的解释)
安装openssl
(最关键的步骤来了)
1)首先设定好环境变量,这步参照网上的教程后发现后面的编译步骤不成功,找了很就才发现是这部设置的不对才导致的。
设定环境变量:桌面计算机图标右键-属性-高级系统设置-环境变量-在系统变量当中找到变量名称为path的变量(如果没有找到这新建)点击编辑-在变量名称中填入C:\Program Files (x)\Microsoft Visual Studio .0\VC\bin;C:\Perl\bin;c:\windows\system-点击确定完成设定。(说明:C:\Program Files (x)\Microsoft Visual Studio .0\VC\bin路径是VS的路径。C:\Perl\bin是运行perl的路径,不若不设定那么perl命令将找不到。c:\windows\system这个路径很少提到但是很重要,如果不设置那么会造成后面vcvars.bat环境变量执行出错。)到此环境变量路径设置好之后重启下电脑才能生效。
2)使用Visual Studio命令提示()进入控制台模式
开始菜单-所有程序-Microsoft Visual Studio -Visual Studio Tools-Visual Studio命令提示(),(PS:以管理员身份运行), 使用cd命令将目录指向C:\Program Files (x)\Microsoft Visual Studio .0\VC\bin(PS:自己的VC安装路径), 命令行键入vcvars,运行vcvars.bat..完成后进入OpenSSL源码的目录(C:\openssl)
3)执行Configure命令(配置编译参数)(需将目录跳到OpenSSL源码目录下)
在命令行中键入perl configure VC-WIN --prefix=c:\openssl(PS:--prefix=c:\openssl命令为指定安装位置)
4)运行ms\do_ms命令(需将目录跳到OpenSSL源码目录下)
在命令行中键入ms\do_ms。
5)运行nmake -f ms\ntdll.mak命令进行代码编译(需将目录跳到OpenSSL源码目录下)
编译分两种情况,生成静态库和动态库
(1) 如果是编译OpenSSL动态库,则在命令行键入 nmake -f ms\ntdll.mak
编译成功课在文件夹outdll里面查看输出的文件,包括应用程序的exe文件、lib文件、dll文件。
(2) 如果是编译OpenSSL静态库,则在命令行键入 nmake -f ms\nt.mak
编译成功课在文件夹out里面查看输出的文件,包括应用程序的exe文件、lib文件。
6)测试使用命令nmake -f ms\ntdll.mak test(若安装成功则可以使用此命令来验证)
使用openssl
当VS工程需要用到openssl库时,在包含目录中胎添加openssl安装目录的include目录, 来库目录中添加outdll目录。
或者将OpenSSL下的include文件夹、lib文件、dll文件考出,使用的时候包含进去就行了。
另外还有几个命令可能会用到:
测试OpenSSL动态库:nmake -f ms\ntdll.mak test
测试OpenSSL静态库:nmake -f ms\nt.mak test
安装OpenSSL动态库:nmake -f ms\ntdll.mak install
安装OpenSSL静态库:nmake -f ms\nt.mak install
清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean