Puncte:1

upgrade openssl | certificat de validare nereușită

drapel kr

Lucrez pe o mașină CentOS7 și încerc să fac upgrade la versiunea openssl a mașinii mele 1.0.2k -> 1.1.0l. Se pare că procesul de strângere de mână cu serverul meu (care nu s-a schimbat) eșuează după upgrade și încerc să aflu cauza.

Rularea următoarei comenzi cu ambele versiuni openssl:

openssl s_client -showcerts -connect server:port

A rezultat cu eșec cu cel mai nou (dacă ofer validarea -CAfile funcționează cu ambele). O diferenta a rezultatului:

Vechi 1.0.2k (strângere de mână reușită):

Cheie Temp Server: ECDH, P-256, 256 biți Nou, TLSv1/SSLv3, Cipher este ECDHE-RSA-AES128-GCM-SHA256 Nou 1.1.0l (nu reușește strângerea de mână):

Cheie Temp Server: X25519, 253 de biți Nou, TLSv1.2, Cipher este ECDHE-RSA-AES128-GCM-SHA256 Verificați codul de returnare: 20 (nu se poate obține certificatul de emitent local) Aș aprecia cu ajutor să înțelegem diferența și de ce sunt diferite.

Fyi, am început o amenințare similară aici: https://stackoverflow.com/questions/68763253/openssl-upgrade-fail-validating-certificate?noredirect=1#comment121583146_68763253 fara prea mult noroc.

Mulțumiri :)

drapel us
Cum ați efectuat procesul de actualizare?
Guy Tabak avatar
drapel kr
Am compilat openssl din codul sursă, nu am putut obține yum să instalez acea versiune specifică. O diferență cheie pe care o văd în execuția lucrului și a nu funcționează: Calea de căutare a certificatului de versiune openssl de lucru este /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem. Calea de căutare a certificatului de versiune openssl eșuată este /var/ssl/cert.pem. Ambele au același mediu SSL_CERT_DIR: /etc/pki/tls/certs. Așa că mă întreb, de ce noua versiune openssl se uită la /var/ssl?
drapel us
`SSL_CERT_DIR` pare a fi ceva diferit de calea rădăcină CA, analizând diferențele dintre căile pe care le afișați.
Guy Tabak avatar
drapel kr
Ce vrei să spui? SSL_CERT_DIR „Specifică locația autorităților de certificare de încredere (CA) găsite în format OpenSSL. Aceasta este variabila de mediu OpenSSL.”
Puncte:1
drapel us

la Centos 7 puteți rezolva această problemă și cu următoarele comenzi:

#Pregătiți-vă pentru a compila
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum groupinstall -y „Instrumente de dezvoltare” „Biblioteci de dezvoltare”

#Construiți din sursă
cd /usr/src
# --no-check-certificate din cauza acestei probleme, sistemul dumneavoastră nu va valida certificatul letsencrypt la openssl.org până la finalizarea actualizării
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1l.tar.gz
tar -zxf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config
face
face instalarea

yum install ca-certificates -y 
Puncte:0
drapel kr

Pentru referințe viitoare, adăugând soluție aici.

Odată ce ați început să lucrați cu versiunea openssl > 1.0.2k pe centos7, pare să existe o schimbare de comportament în calea de rezoluție a rădăcinii.

Openssl parcurge o listă predefinită de locații de magazin de certificate, totuși, odată ce întâlnește un fișier cert.pem în /val/ssl, îl va testa și va eșua dacă nu poate valida telecomanda.

Certificatul meu „bun” era în /etc/ssl și, deoarece era o mașină a unui client, nu i-am putut cere să elimine fișierul /var/ssl.

Soluția mea a fost să aleg în mod programatic cert.pem corect în cazul în care openssl eșuează (fără a modifica versiunea openssl a mașinii, care era interzisă).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.