OpenSSL所有版本的变化,从1.1开始架构有所变化,生成的lib名称也有所不同了,以及对Qt的影响
The complete explanation is that 1.0.x and 1.1.x do not have the same naming conventions for the generated libraries. OpenSSL 1.1.x has moved into what they call the “unified build system” and changed themselves the names of the libraries. This was done on purpose, mainly because these libraries are not binary compatible and should not be intermixed into projects or dlls deployed to replace 1.0.x with 1.1.x, and vice versa. So while previously in 1.0.x there were libeay32 and ssleay32, they are in 1.1.x named libssl and libcrypto. That’s what happened upstream in OpenSSL. Read here also: https://marc.info/?l=openssl-dev&m=147223063610803&w=2 and there are tons of other discussions online you can tap to.
Beyond that, I also manipulate the suffixes in my builds. Namely, I append the MD[d] and MT[d] suffixes, so that it can be clearer when someone uses a library. This may not be very important when using DLLs, but with static builds chaos ensues if you mix them. So I made my own patches to produce these suffixes to the libraries.
I think that’s a complete answer now. I have also a suggestion for you:
You can download my build scripts if you still like to change the names of the library files in a different way and look at the patch, and modify it accordingly.
You can also skip the application of the patch and then you will get exactly the filenaming conventions of OpenSSL upstream in different builds.
I hope this helps.
http://www.npcglib.org/~stathis/blog/precompiled-openssl/
其实从1.0.2k就已经开始了
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssl.html
对QT的影响:
Things that Broke in Qt
Here's what's broken in the dev branch of Qt when building openssl master as of 6 Feb 2015.
- DH - we were directly accessing p and q to set the DH params to primes embedded in Qt. We can probably replace this with SSL_CTX_set_dh_auto(ctx, 1). Another option suggested by Steve Henson is to save the DHparams we're using at the moment then use d2i_DHparams to load them in. This is compatible with openssl versions that don't have the dh_auto option.
- ctx->cert_store - we were directly accessing the cert_store field of SSL_CTX. We can probably replace this with X509_STORE *SSL_CTX_get_cert_store(SSL_CTX *ctx) [Fixed in dev]
- session->tlsext_tick_lifetime_hint - we were directly accessing the lifetime hint of the session. [A new API to access this field has been added]
- cipher->valid - we were directly accessing the valid field of SSL_CIPHER. No replacement found. [This turned out not to be needed and so will be removed].
https://wiki.openssl.org/index.php/1.1_API_Changes
所有openssl版本的变化列表:
https://abi-laboratory.pro/tracker/changelog/openssl/1.0.2j/log.html
https://abi-laboratory.pro/tracker/timeline/openssl/
https://www.openssl.org/news/openssl-1.0.2-notes.html
https://www.openssl.org/news/changelog.html
OpenSSL所有版本的变化,从1.1开始架构有所变化,生成的lib名称也有所不同了,以及对Qt的影响的更多相关文章
- [openssl]openssl特定版本安装
卸载旧版本 OpenSSL1. apt-get purge openssl2. rm -rf /etc/ssl #删除配置文件编译与安装 OpenSSLprefix 是安装目录,openssldir ...
- 查看openssl的版本
[root@ha01 tengine]# openssl version -a OpenSSL Feb built on: Thu Jul :: UTC platform: linux-x86_64 ...
- RAC4——架构和变化
1.RAC的架构 2.由单实例变RAC的变化 1.SGA的变化: 和传统的单实例相比,RAC 实例中SGA最显著的变化时多了一个GRD(Global resource directory)部分. ...
- openssl实现双向认证教程(服务端代码+客户端代码+证书生成)
一.背景说明 1.1 面临问题 最近一份产品检测报告建议使用基于pki的认证方式,由于产品已实现https,商量之下认为其意思是使用双向认证以处理中间人形式攻击. <信息安全工程>中接触过 ...
- 图片旋转 1. cv2.getRotationMatrix2D(获得仿射变化矩阵) 2. cv2.warpAffine(进行仿射变化)
原文:https://www.cnblogs.com/my-love-is-python/p/10959612.html 1.rot_mat = cv2.getRotationMatrix2D(ce ...
- git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移
注意:此处省略git的安装 1..git的工作流程示意图: 2.本地仓库的初始化: 2.1 创建一个文件夹,如我创建的是:D:\gitdemo\shop 2.2 进入shop目录,鼠标右键,打开git ...
- 更换JDK版本时的问题:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'
1.先把oracle自带的weblogic给卸载了,然后打开eclipse,发现报错了:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg' J ...
- 软件架构的演进,了解单体架构,垂直架构,SOA架构和微服务架构的变化历程
软件架构演进 软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程,博客里写到了这四种架它们的特点以及优缺点分析,个人学习之用,仅供参考! 1.1.1 单体架构 特点: 1 ...
- Asp.NetCore3.1版本的CodeFirst与经典的三层架构与AutoFac批量注入
Core3.1 CodeFirst与AutoFac批量注入(最下面附GitHub完整 Demo,由于上传网速较慢,这里就直接压缩打包上传了) ===Core3.1 CodeFirst 数据库为远程阿里 ...
随机推荐
- 一起学Python:网络通信过程
1. 2台电脑的网络 image 说明 如果两台电脑之间通过网线连接是可以直接通信的,但是需要提前设置好ip地址以及网络掩码 并且ip地址需要控制在同一网段内,例如 一台为192.168.1.1另一台 ...
- maven hadoop 3.x HADOOP_HOME and hadoop.home.dir are unset Not implemented by the WebHdfsFileSystem FileSystem implementation
具体异常如下: 解决方案: 删除pom文件中的hadoop-core的依赖,原因:hadoop-core是1.x的产物,在2.x之后已经被hadoop-common取代,我配置的时候同时使用了这两个依 ...
- 十个最有“钱景”的IT技能, 你掌握了哪个?
IT行业的失业率仍然徘徊在历史低点,其中某些岗位(如网络和安全工程师和软件开发商)的失业率在1%左右. Robert Half Technology最近的一项调查显示,大多数CIO将扩大IT团队或专注 ...
- memcache redis mogodb 分别适用在什么样的场景?
memcache 与 redis 都是key-value存储系统,相对来说redis可能比memcache适应场景多些,存储的value类型也更多些,而redis也支持主从同步.而mongo是一种文档 ...
- wxWidgets谁刚开始学习指南(5)——使用wxSmith可视化设计
wxWidgets谁刚开始学习的整个文件夹指南 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用w ...
- 程序员,用NuGet管理好你的包包(转)
每个女人都有很多包包:其实男人也有,但只有会写程序的男人才有 —— 代码世界中的大“包”小“包”.这些大包小包,有花钱买的,有从开源市场淘的,也有自己或同事亲手制作的. 包包有个特点:容易坏,更新快, ...
- MacOS系统升级后,IDEA的SVN不好用的问题
最近给MacOS升级到10.13.2(High Sierra). 结果,发现IDEA的SVN不好用了. 提示如下: 查看IDEA的Subversion设置应该是这个样子的: 但是,设置后没有效 ...
- 关于ExpandableListView的一个小例子
喜欢显示好友QQ那样的列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到an ...
- hdu1180奇怪的楼梯……bfs迷阵……wa该16二级,我太渣滓
#include<iostream> #include<queue> #include<cstring> using namespace std; int row, ...
- 在efcore 中创建类 通过实现IEntityTypeConfiguration<T>接口 实现实体类的伙伴类 实现FluentApi
1 创建实体类: public partial class NewsCategory : IAggregationRoot { public NewsCategory() { } public Gui ...