如何区分安装了哪个版本的OpenSSL?

如何区分安装了哪个版本的OpenSSL?

Nginx 的错误日志显示了一些 OpenSSL 握手错误,在搜索原因时,我发现所使用的 OpenSSL 版本的输出令人困惑。

Details:
Debian Jessie 8.7 64 Bit

# apt-cache policy openssl
openssl:
  Installed: 1.0.1t-1+deb8u6
  Candidate: 1.0.1t-1+deb8u6
  Version table:
     1.0.2k-1~bpo8+1 0
        100 http://ftp.debian.org/debian/ jessie-backports/main amd64 Packages
 *** 1.0.1t-1+deb8u6 0
        500 http://security.debian.org/ jessie/updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1.0.1t-1+deb8u5 0
        500 http://mirror.hetzner.de/debian/packages/ jessie/main amd64 Packages
        500 http://http.debian.net/debian/ jessie/main amd64 Packages

# apt-cache policy nginx
nginx:
  Installed: 1.9.10-1~bpo8+4
  Candidate: 1.10.3-1~bpo8+1
  Version table:
     1.10.3-1~bpo8+1 0
        100 http://ftp.debian.org/debian/ jessie-backports/main amd64 Packages
 *** 1.9.10-1~bpo8+4 0
        100 /var/lib/dpkg/status
     1.6.2-5+deb8u4 0
        500 http://mirror.hetzner.de/debian/packages/ jessie/main amd64 Packages
        500 http://http.debian.net/debian/ jessie/main amd64 Packages
        500 http://security.debian.org/ jessie/updates/main amd64 Packages

# nginx -V
nginx version: nginx/1.9.10
built with OpenSSL 1.0.2j  26 Sep 2016 (running with OpenSSL 1.0.2k  26 Jan 2017)

# openssl version -a
OpenSSL 1.0.1t  3 May 2016 (Library: OpenSSL 1.0.2k  26 Jan 2017)

nginx 如何运行,openssl 1.0.2k并且 openssl version -a说“库是”,OpenSSL 1.0.2kapt-cache policy openssl说“已安装” 1.0.1t

有人可以解释一下吗?

答案1

openssl包包含前端二进制文件,而不是库。您正在跟踪 Jessie 的该软件包(及其安全更新)。

图书馆本身是libssl1.0.0,并且您正在跟踪该软件包的 Jessie 向后移植(以及 Nginx;您只是后者落后几个版本)。这是Nginx使用的,是前端识别的库版本openssl。您可以使用以下命令查看系统上库的版本

apt-cache policy libssl1.0.0

(以及更新版本的可用性,如果有的话)。

答案2

我怀疑它nginx -V显示了使用哪个版本的 openssl 来构建内核,并且它还向您显示了它正在使用的系统上的版本。

相关内容