Pytanie Lista obsługiwanych wersji SSL / TLS dla konkretnej kompilacji OpenSSL


Mam na przykład wersję OpenSSL 1.0.0o na moim systemie Linux, i chcę wiedzieć, który SSL/TLS wersje są obsługiwane przez tę kompilację.

Czy istnieje polecenie powłoki, aby to osiągnąć?


32
2017-12-11 18:44


pochodzenie




Odpowiedzi:


Nie można sprawdzić obsługi wersji za pomocą wiersza poleceń. Najlepszym rozwiązaniem byłoby sprawdzenie OpenSSL chnagelog.

Wersje Openssl do wersji 1.0.0h obsługują SSLv2, SSLv3 i TLSv1.0. Z Openssl 1.0.1 dodano obsługę TLSv1.1 i TLSv1.2.


8
2017-12-18 11:30



1.0.1s i 1.0.2g up (marzec 2016) domyślnie "wyłącz" SSLv2 (pomiń kompilacje), ale ./Configure można go dodać. 1.1.0 base up (sierpień 2016) całkowicie odrzuca kod dla SSLv2 (nie można dodać) i domyślnie wyłącza SSLv3. - dave_thompson_085


Użyj tego

openssl ciphers -v | awk '{print $2}' | sort | uniq

110
2018-04-28 20:44



Idealne rozwiązanie. 10 na 10 :) Dzięki. - SuperDuperApps
To powinna być odpowiedź - SparkleGoat
TO JEST ŹLE. Druga kolumna w ciphers -v jest minimum wersja dla ciphersuite; ponieważ TLSv1.0 i 1.1 nie dodają żadnych zestawów szyfrów nieobecnych w SSLv3, w wersjach 1.0.1 i 1.0.2 tylko te listy SSLv3 i TLSv1.2 nawet jeśli 1.0 i 1.1 są obsługiwane. W wersji 1.1.0 ze względu na oczywisty błąd 1.0 jest wymieniony, ale 1.1 nadal nie jest. Również 1.0.0-2 obsługuje SSLv2, ale nie umieszczaj pakietów v2 w domyślna szyfrowanie, więc nie ma na liście; można to naprawić za pomocą ALL. (OTOH zarówno SSLv3 jak i SSLv3 są zepsute i nie powinny być używany.) - dave_thompson_085
PS: sort|uniq można zastąpić przez sort -u awk może z łatwością tłumić duplikaty, jeśli kolejność nie ma znaczenia lub używasz awk 4 GNU, który automatycznie sortuje for. Ale to są tematy dla SO. - dave_thompson_085


Jest niezgrabny, ale możesz to uzyskać z wiadomości o używaniu s_client lub s_server, które są #ifed podczas kompilacji, aby dopasować obsługiwane wersje protokołów. Użyj czegoś takiego

 openssl s_client -help 2>&1 | awk '/-ssl[0-9]/-tls[0-9]/{print $1}' 
 # in older releases any unknown -option will work; in 1.1.0 must be exactly -help

1
2018-05-01 05:26





Spróbuj wykonać następujące polecenie:

openssl ciphers

Powinno to wytworzyć listę wszystkich szyfrów obsługiwanych w twojej wersji openssl.

Aby zobaczyć tylko określony zestaw szyfrów (np. Tylko szyfry sslv3) spróbuj:

openssl ciphers -ssl3

Widzieć https://www.openssl.org/docs/apps/ciphers.html po więcej informacji.


0
2017-12-11 21:03



Nie mówię o szyfrach. Chcę uzyskać obsługiwane wersje SSL / TLS dla konkretnej kompilacji OpenSSL. Na przykład: dla wersji 1.0.0o obsługiwane są SSL3 i TLS1. - Leviathan


To zadziałało dla mnie:

openssl s_client -help 2>&1  > /dev/null | egrep "\-(ssl|tls)[^a-z]"

Daj mi znać, jeśli coś jest nie tak.


0
2018-06-05 11:55