Mam gotową bibliotekę OpenSSL (libssl.a i libcrypto.a), które są używane dla mojej aplikacji C ++. Nie znam wersji biblioteki OpenSSL.
Czy istnieje sposób na uzyskanie numeru wersji z tych gotowych bibliotek?
Odpowiedzi:
4 dla odpowiedzi № 1Możesz to zrobić programowo, czytając następujące:
i
Zasadniczo będziesz potrzebować następujących funkcji:
SSLeay()
SSLeay_version()
9 dla odpowiedzi nr 2
W bibliotece znajduje się napis zawierający szczegóły dotyczące wersji SSLEAY_VERSION - to wygląda jak:
OpenSSL 0.9.5a 1 Apr 2000
OpenSSL 1.0.1e-fips 11 Feb 2013
Możesz go znaleźć z biblioteki binarnej za pomocą łańcuchów i grep:
strings libcrypto.so | grep "^OpenSSL S+ [0-9]+ S+ [0-9]+"
3 dla odpowiedzi nr 3
Możesz użyć następujących:
strings libssl.so | grep "^OpenSSL S+ [0-9]+ S+ [0-9]+"
1 dla odpowiedzi nr 4
Możesz również użyć:
openssl version -a
Zobacz referencję na: https://linux.die.net/man/1/version
1 dla odpowiedzi nr 5
Filtrowanie może nie zawsze działa. Mógłbyś
strings libssl.so | grep "^OpenSSL"
OpenSSLDie
OpenSSL 1.0.2n 7 Dec 2017
strings libcrypto.so | grep "^OpenSSL"
OpenSSLDie
OpenSSL_add_all_ciphers
OpenSSL_add_all_digests
OpenSSL 1.0.2n 7 Dec 2017
OpenSSL HMAC method
OpenSSL EC algorithm
OpenSSL RSA method
OpenSSL DSA method
OpenSSL ECDSA method
OpenSSL DH Method
OpenSSL X9.42 DH method
OpenSSL PKCS#3 DH method
OpenSSL ECDH method
OpenSSL "dlfcn" shared library method
OpenSSL default
OpenSSL default user interface
OpenSSL CMAC method