8.49. OpenSSL-3.0.1

OpenSSL 软件包包含密码学相关的管理工具和库。它们被用于向其他软件包提供密码学功能,例如 OpenSSH,电子邮件程序和 Web 浏览器 (以访问 HTTPS 站点)。

估计构建时间: 2.2 SBU
需要硬盘空间: 154 MB

8.49.1. 安装 OpenSSL

准备编译 OpenSSL:

./config --prefix=/usr         \
         --openssldir=/etc/ssl \
         --libdir=lib          \
         shared                \
         zlib-dynamic

编译该软件包:

make

运行以下命令以测试编译结果:

make test

一项名为 30-test_afalg.t 的测试在某些 (CONFIG_CRYPTO_USER_API* 设定不一致的) 内核配置下会失败。如果它失败,可以放心地忽略它。

安装该软件包:

sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
make MANSUFFIX=ssl install

将版本号添加到文档目录名,以和其他软件包保持一致:

mv -v /usr/share/doc/openssl /usr/share/doc/openssl-3.0.1

如果需要的话,安装一些额外的文档:

cp -vfr doc/* /usr/share/doc/openssl-3.0.1
[注意]

注意

一旦新版的 OpenSSL 被发布,且它包含对安全缺陷的修复,就应该更新 OpenSSL。OpenSSL 的版本分为多个序列,每个版本序列中除了首个发布版本以外,其余版本以一个英文字母进行区分 (例如,1.1.1, 1.1.1a, 1.1.1b, 等等)。由于 LFS 只安装共享库,没有必要重新编译链接到 libcrypto.so 或者 libssl.so 的软件包,前提是更新后的版本和原版本在同一个版本序列中

然而,需要重新启动链接到这两个库的,正在运行的程序。详见第 8.2.1 节 “升级问题”中的相关条目。

8.49.2. OpenSSL 的内容

安装的程序: c_rehash 和 openssl
安装的库: libcrypto.so 和 libssl.so
安装的目录: /etc/ssl, /usr/include/openssl, /usr/lib/engines 以及 /usr/share/doc/openssl-3.0.1

简要描述

c_rehash

一个 Perl 脚本,扫描一个目录中的所有文件,并添加它们的符号链接,符号链接名为对应文件的散列值

openssl

一个命令行工具,用于从 shell 使用 OpenSSL的密码学库的一些密码学函数。它可以被用于 man 1 openssl描述的许多功能

libcrypto.so

实现不同 Internet 标准使用的许多密码学算法。该库提供的服务被 OpenSSL 的 SSL、TLS 和 S/MIME 实现使用,也被用于实现 OpenSSHOpenPGP,以及其他密码学标准

libssl.so

实现传输层安全 (TLS v1) 协议。它提供了丰富的 API,这些 API 的文档可以通过执行 man 3 ssl查阅