OpenSSL3.0作为泛用SSL库中的一个重要更新,为用户带来了更大的扩展性,迁移到了另一个架构下,进行了代码清理和废弃,在架构上进行了升级,为用户提供更大的灵活性,作为一个大版本的改进,你只需要进行不分的重新编译,就能解决兼容问题。
OpenSSL 3.0已经迁移到一个基于提供者的架构,以允许更大的灵活性,libcrypto中的HTTP/HTTPS以及对Linux内核TLS的支持,完全"可插拔"的TLSv1.3组,新的编码器和解码器支持,完整的证书管理协议(CMP)实现,新的API,以及对内核TLS的集成支持都是OpenSSL 3.0的众多变化。
安装方法
win10下安装openssl
首先下载运行工具ActivePerl
执行:perl example.pl,若显示“Hello from ActivePerl!”,则说明Perl安装成功
安装到指定目录:perl configure VC-WIN32 no-asm --prefix=D:\appInstall\openssl-1.0.1t\openssl
ms\do_ms.bat
安装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
linux上安装Openssl
查看原有系统是否已安装Openssl
openssl version -a
安装
wget
tar xvzf openssl-1.0.0d.tar.gz
cd openssl-1.0.0d
如果需要zlib压缩模块的话,还需要先安装zlib
然后:
./config --prefix=/usr/local/ssl shared zlib-dynamic
不需要就直接用:
./config --prefix=/usr/local/ssl shared no-zlib
更多详细帮助请运行
./config --help
然后:
make && make install
ARM平台的交叉编译安装:
编译:openssl
./config no-asm no-zlib --prefix=/arm/openssl os/compiler:arm-linux-gcc
修改:
CC= arm-linux-gcc
AR= arm-linux-ar $(ARFLAGS) r
RANLIB= arm-linux-ranlib
如果存在 -march=pentium 就去掉。
更新日志
主要版本
开发者可以从这里下载 OpenSSL 3.0,并升级你的应用程序使之兼容。OpenSSL 3.0 是一个大版本升级,并不完全向后兼容以前的版本。大多数使用 OpenSSL 1.1.1 的应用程序仍然可以正常工作,只是需要重新编译(可能会有关于使用废弃的 API 的编译警告)。还有一些不能完全兼容的应用可能需要进行修改才能正确编译和使用。
如果应用程序需要利用 OpenSSL 3.0 中的一些新功能(例如 FIPS 模块),也需要对应用进行更改。
许可证变更
在以前的版本中,OpenSSL 是在 OpenSSL 和 SSLeay 下获得许可的。从 OpenSSL 3.0 开始,已经过渡到了 Apache License 2.0。旧的 OpenSSL 和 SSLeay 许可证仍然适用于旧版本(1.1.1 和更早的版本)。
Providers 和 FIPS 支持
OpenSSL 1.1.1 的主要变化之一是引入了 Providers(提供者) 概念。Providers 聚集在一起并提供可用的算法实现。使用 OpenSSL 3.0,可以以编程方式或通过配置文件指定你希望用于任何给定应用程序的 Providers。OpenSSL 3.0 标配 5 个不同的 Providers。随着时间的推移,第三方可能会分发可以接入 OpenSSL 的其他 Providers。通过 Providers 提供的所有算法实现都可以通过“高级” API 访问,无法使用 “低级 API” 访问它们。
目前可用的一个标准 Providers 是 FIPS Providers。这使得 FIPS 验证的加密算法可用。FIPS Providers 默认处于禁用状态,需要在配置时使用enable-fips选项显式启用。如果启用,除了其他标准 Providers 之外,还会构建和安装 FIPS Providers,不需要单独的安装过程。
低级别的 API
OpenSSL 历来提供两套用于调用加密算法的 API:"高级" API(如 EVP API)和 "低级" API。高级别的 API 通常被设计成适用于所有算法类型。而 "低级" API 则是针对特定的算法实现的。长期以来,OpenSSL 开发团队一直不鼓励使用低级别的 API。在 OpenSSL 3.0 中,这一点变得更加明确。所有这些低级别的 API 都已经被废弃了。你仍然可以在你的应用程序中使用它们,但你可能会在编译过程中开始看到弃用警告。废弃的 API 可能会从未来的 OpenSSL 版本中删除,所以强烈建议开发者更新你的代码,以使用高级 API 来代替。
版本管理
OpenSSL 的版本管理已经随着 OpenSSL 3.0 的发布而改变,新的版本管理采用下方这样的格式:
MAJOR.MINOR.PATCH(主版本.次版本.补丁)
对于 OpenSSL 1.1.1 及以下版本,不同的补丁级别是由版本号后面的字母表示的,这一方法将不再使用,而是用版本号中的最后一个数字来表示补丁级别。第二个数字(MINOR)的变化表明可能已经添加了新的功能,但与相同 MAJOR 编号的 OpenSSL 在 API 和 ABI 上是兼容的。如果 MAJOR 数字发生变化,则不保证 API 和 ABI 的兼容性。
精品推荐
-
Microsoft .Net Framework4.7.2中文版
详情 -
.Net3.5
详情 -
.Net3.5 64位win10离线安装包
详情 -
MarkdownPad2
详情 -
.Net Framework 4.0 32位离线安装包
详情 -
RPGVXACE RTP
详情 -
Cmder(windows命令行工具)
详情 -
jetbrains全系列激活工具
详情 -
scratch免激活离线版
详情 -
Microsoft .NET Runtime6.0
详情 -
鲸鱼积木编程专业版
详情 -
Lodop云打印机插件
详情 -
Qt Linguist(QT语言家)
详情 -
Microsoft .Net Framework 4.0完整版
详情 -
Jar to Exe
详情 -
DevExpress 2020
详情
装机必备软件
网友评论