QT +OpenSSL配置

1 查看自己QT支持的OPenSSL版本号

#include <QDebug>
#include <QtNetwork/QSslSocket>
#include <QDebug>
#include <QNetworkAccessManager>
void checkSslSupport() {
    qDebug() << "SSL support:" << QSslSocket::supportsSsl()
             << "\nSSL library build version:" << QSslSocket::sslLibraryBuildVersionString()
             << "\nSSL library runtime version:" << QSslSocket::sslLibraryVersionString();

    QNetworkAccessManager *manager = new QNetworkAccessManager();
    qDebug() << manager->supportedSchemes();
}

1.1 查看版本号

  1. 新建项目testOpenSSL
  2. pro文件中加入QT += network
  3. 在头文件中加入#include <QDebug> #include <QSslSocket>
  4. qDebug()<<QSslSocket::sslLibraryBuildVersionString();
    在这里插入图片描述

1.2 是否配置了OPenSSL

//看看是否配置了ssl
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
qDebug() << manager->supportedSchemes();

在这里插入图片描述

2 安装OPenSSL

安装OPenSSL有两种方式:

  1. 下载已经编译好的库,放到指定位置
  2. 自己编译源码

2.1 下载已经编译好的库

https://slproweb.com/products/Win32OpenSSL.html

  1. 找到自己QT支持的版本,我的版本是“OpenSSL 1.1.1g 21 Apr 2020”
    在这里插入图片描述
    安装完成之后,运行刚才的程序:
    在这里插入图片描述
    已经支持SSL了,方便快捷。

需要将对应的库放到可执行的文件,同级文件下,否则会出错:
在这里插入图片描述

2.2 自己编译代码

https://www.openssl.org/
https://blog.csdn.net/u013052326/article/details/111713932

2.2.1 下载perl

perl:https://www.perl.org/get.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
检查环境变量,如果软件没有自己加入,请手动加入
在这里插入图片描述
验证,出现以下内容则表示成功
在这里插入图片描述

2.2.1 下载OPenSSL源码

以OpenSSL 1.0.2 22 Jan 2015为例
在这里插入图片描述

以管理员身份运行:
在这里插入图片描述
cd /d D:\vs\openssl-1.0.2.tar\openssl-1.0.2进入源文件

  1. 配置
    32位
perl Configure VC-WIN32 no-asm --prefix="D:\\vs\\openssl-1.0.2.tar\\build32"

64位

perl Configure VC-WIN64A no-asm --prefix="D:\\vs\\openssl-1.0.2.tar\\build64"
release版本:VC-WIN64A代表是64位release 库;VC-WIN32 代表是32位release库
debug版本:debug VC-WIN64A ; debug VC-WIN32A
no-asm:编译过程中不使用汇编代码加快编译过程。
–prefix=路径指定生成路径

编译动态库:
nmake -f ms\ntdll.mak
编译静态库:
nmake -f ms\nt.mak
测试动态库:
nmake -f ms\ntdll.mak test
测试静态库:
nmake -f ms\nt.mak test
安装动态库:
nmake -f ms\ntdll.mak install
安装静态库:
nmake -f ms\nt.mak install
清除上次动态库的编译,以便重新编译:
nmake -f ms\ntdll.mak clean
清除上次静态库的编译,以便重新编译:
nmake -f ms\nt.mak clean


–cross-compile-prefix 交叉编译参数
–prefix=DIR 安装目录设置,make install指令会安装到指定目录。
–debug 使用调试符号和零优化级别构建OpenSSL
–release 在不调试符号的情况下构建OpenSSL。这是默认设置
–libdir=DIR 安装目录树顶部(请参阅–prefix选项)下将安装库的目录的名称。

默认情况下,这是“lib”。

请注意,仅在Windows上,.lib文件将存储在此位置。 dll文件将始终安装到“bin”目录。

–openssldir=DIR OpenSSL配置文件的目录,以及默认证书和密钥存储。

默认设置为:

Unix:/usr/local/ssl

Windows:C:\Program Files\Common Files\SSL或C:\Program Files(x86)\Common
Files\SSLOpen
VMS:SYS$COMMON:[OPENSSL-COMMON]

no-tests 不要构建测试程序或运行任何测试 no-shared 不要创建共享库,只创建静态库。
  1. 生成makefile
    生成makefile,64位:ms\do_win64a ;32为:ms\do_ms
    在这里插入图片描述
  2. nmake -f ms\ntdll.mak(ntdll 代表动态库,nt 代表静态库)
  3. 安装nmake -f ms\ntdll.mak install
  4. 测试nmake -f ms\ntdll.mak test
    在这里插入图片描述将生成的库,放入对应的qt文件位置 E:\qt_5.5\5.5\mingw492_32\bin (我是32位的)在这里插入图片描述
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m晴朗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值