QT +OpenSSL配置

这篇具有很好参考价值的文章主要介绍了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();
    qt openssl,qt,QPenSSl

1.2 是否配置了OPenSSL

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

qt openssl,qt,QPenSSl

2 安装OPenSSL

安装OPenSSL有两种方式:

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

2.1 下载已经编译好的库

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

  1. 找到自己QT支持的版本,我的版本是“OpenSSL 1.1.1g 21 Apr 2020”
    qt openssl,qt,QPenSSl
    安装完成之后,运行刚才的程序:
    qt openssl,qt,QPenSSl
    已经支持SSL了,方便快捷。

需要将对应的库放到可执行的文件,同级文件下,否则会出错:
qt openssl,qt,QPenSSl

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
qt openssl,qt,QPenSSl
qt openssl,qt,QPenSSl
qt openssl,qt,QPenSSl
检查环境变量,如果软件没有自己加入,请手动加入
qt openssl,qt,QPenSSl
验证,出现以下内容则表示成功
qt openssl,qt,QPenSSl

2.2.1 下载OPenSSL源码

以OpenSSL 1.0.2 22 Jan 2015为例
qt openssl,qt,QPenSSl

以管理员身份运行:
qt openssl,qt,QPenSSl
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位文章来源地址https://www.toymoban.com/news/detail-854378.html

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
    qt openssl,qt,QPenSSl
  2. nmake -f ms\ntdll.mak(ntdll 代表动态库,nt 代表静态库)
  3. 安装nmake -f ms\ntdll.mak install
  4. 测试nmake -f ms\ntdll.mak test
    qt openssl,qt,QPenSSl将生成的库,放入对应的qt文件位置 E:\qt_5.5\5.5\mingw492_32\bin (我是32位的)qt openssl,qt,QPenSSl

到了这里,关于QT +OpenSSL配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt之Windows Server 2012 R2不支持openssl

            发现默认情况下服务器Windous Server 2012系统不支持openssl,就算你把已经编译好的库编译好放进去也不行,因为系统就缺少了系统的补丁。         一开始的想的解决办法是:怀疑是因为Windows 10编译的库文件Windous Server 2012系统中不支持,所以先下载openssl的源码,在

    2024年02月05日
    浏览(41)
  • QT使用OpenSSL的接口实现RSA2的签名和验签

    加密和签名在RSA加密算法中是两个不同的概念,虽然它们都涉及RSA密钥对的使用,但目的和应用场景有所不同。 加密 (encrypt/decrypt) : 加密 :使用接收方的公钥对数据进行加密,只有拥有相应私钥的接收方才能解密数据。 解密 :使用接收方的私钥对加密数据进行解密,从而获

    2024年02月22日
    浏览(42)
  • 【QT+QGIS跨平台编译】之三:【OpenSSL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

    OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。 SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。SSL能使用户/服务器应用

    2024年01月22日
    浏览(94)
  • Openssl数据安全传输平台016:在QT中的数据库操作+在项目中的设计与实现

    在Qt中进行数据库操作需要使用的类: QSqlDataBase 属于的模块: sql 使用这个类可以创建出一个连接数据库服务器的实例 单例

    2024年02月06日
    浏览(51)
  • 从0开始学OpenSSL 第一期:在VSCode中配置C语言调用OpenSSL

    由于一些项目上的需要,我要在C语言中调用OpenSSL库,本人并非0基础,至少在上个学期学习了一门必修的程序设计(C语言)。 本人开发环境为: 系统:Windows 11 开发工具: VScode + MinGW(GCC)v10.2.0 OpenSSL版本:Win64 OpenSSL v3.0.7 安装 OpenSSL 由于编译 OpenSSL 太麻烦了,这里我们直

    2024年02月05日
    浏览(125)
  • intel SGX学习笔记(10):SGX项目openssl在App和Encalve中使用的配置问题和openssl库的路径配置问题

    我在初学SGX项目中,在安全区和非安全区下载和引入openssl库的时候会遇到各种各样的问题,稀奇古怪的,尤其是openssl的路径问题和make指令编译出现的问题,自己也做了几天的尝试解决,下面是我做出的一些解决方法,最终还是解决问题了,不对的地方请大家指点!!! 1、

    2024年01月23日
    浏览(41)
  • openssl生成证书和nginx配置ssl证书

    一般情况下,使用ssl证书需要三个操作步骤:1.生成密钥对;2.生成证书请求文件;3.生成证书文件。从单纯的开发者角度来说,可以使用开源的openssl生成密钥和证书,且通过openssl的req命令,可以一个命令完成上述3个操作。 req命令主要的功能:生成证书请求文件、验证证书请

    2024年02月07日
    浏览(45)
  • Windows.OpenSSL生成ssl证书配置到nginx

    生成一个随机数 根证书是用于证书签发的,证书的签发机构都有自己的根证书。他们的根证书一般已经打包到浏览器的受信任的根证书目录里了,我们自己签发的需要手工安装到这个目录。 OpenSSL使用PEM(Privacy Enbanced Mail)格式来保存私钥,生成私钥的命令如下: 这一步会提

    2024年01月24日
    浏览(45)
  • openssl生成https证书及nginx https配置

    一、nginx根目录下创建 cert 目录,用于存放https证书 二、openssl生成https证书证书 三、nginx配置https 参考文档:         https://blog.51cto.com/u_481814/1835713         https://www.cnblogs.com/caidingyu/p/11904277.html

    2024年02月10日
    浏览(41)
  • windows下安装openssl,配置VS(visual studio)

    百度网盘连接: 链接:https://pan.baidu.com/s/1sZapr2mKmuvzG76Ra7yiTg  提取码:2l4l  注意: vs项目为win32项目则安装win32的 vs项目为x64项目则安装win64的 根据安装向导选择路径进行安装 ①同意  ②自行选择安装路径 ③ 选择动态库路径在安装目录下 ④选择安装即可 创建桌面向导空项目

    2024年02月03日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包