# apt list -a openssl
Listing... Done
openssl/stable-security,now 1.1.1n-0+deb11u4 amd64 [installed,automatic]
openssl/stable 1.1.1n-0+deb11u3 amd64
在RedHat linux上,询问其软件包管理器:
$ dnf list --all openssl
Last metadata expiration check: 0:01:53 ago on Mon 13 Mar 2023 01:14:50 PM UTC.
Installed Packages
openssl.x86_64 1:1.1.1k-6.el8_5 @Common
6条答案
按热度按时间falq053o1#
库中有一个字符串包含版本详细信息,名为SSLEAY_VERSION,如下所示:
OpenSSL 0.9.5a 1 Apr 2000
OpenSSL 1.0.1e-fips 11 Feb 2013
您可以使用字符串和grep从二进制库中找到它:
gt0wga4j2#
您可以通过阅读以下内容以编程方式执行此操作:
OPENSSL_VERSION_NUMBER(3)
以及
SSLeay_version(3)
基本上,您将需要使用以下函数:
SSLeay()
SSLeay_version()
mfpqipee3#
过滤可能不总是有效。你可以
umuewwlo4#
您还可以用途:
参见参考文献:https://linux.die.net/man/1/version
u0sqgete5#
我需要一个https://stackoverflow.com/a/26635393/597742的变体,它可以在没有安装
strings
的系统上工作。它有足够的不同,似乎值得发布它自己的答案:--text
允许直接检查二进制,-o
通过只打印匹配的文本来解决行分隔符的缺失。此答案和基于
strings
的答案都需要注意的一点是:除了用于检查libssl
或libcrypto
的OpenSSL版本外,它们还用于检查静态链接二进制文件中的OpenSSL版本。iecba09b6#
在Debian上,你可以问软件包管理员:
在RedHat linux上,询问其软件包管理器: