Am două servere A și B care găzduiesc site-uri web care funcționează bine într-un browser cu https. Pictograma de lacăt din browsere arată certificate SSL active și de încredere.
Încerc să rulez curl astfel încât acel server A pot vorbi cu serverul B, dar ma confrunt cu o eroare.
- Server A -
$ curl https://dev.partsvu.com
CAfile: /etc/pki/tls/certs/ca-bundle.crt
curl: (60) Emitentul certificatului Peer nu este recunoscut.
Am făcut câteva cercetări în jurul site-urilor Stack Overflow și am întâlnit multe întrebări, cu toate acestea, soluțiile lor nu au funcționat pentru mine.
Am încercat mai întâi să descarc fișierele certificatelor pentru server B dintr-un raport SSL Labs și a adăugat manual lista de certificate la /etc/pki/tls/certs/ca-bundle.crt fișier pe server A dar inca primesc aceeasi eroare.
De asemenea, m-am asigurat că serverul B certificatul este valabil cu următoarele:
- Server B -
openssl x509 -dates -noout < /etc/pki/tls/certs/cloudflare.pem
notBefore=6 mai 21:25:00 2022 GMT
notAfter=2 mai 21:25:00 2037 GMT
De asemenea, am încercat să copiez conținutul /etc/pki/tls/certs/cloudflare.pem pe server B direct la /etc/pki/tls/certs/ca-bundle.crt pe server A dar aceeasi eroare.
În cele din urmă, am încercat să vizitez serverul B în Chrome și a descărcat fișierul crt la care apare https://cacerts.digicert.com/CloudflareIncECCCA-3.crt, l-a convertit în pem cu:
openssl x509 -inform DES -in CloudflareIncECCCA-3.crt -out outcert.pem
și a adăugat asta la același lucru ca-bundle.crt fișier pe server A.
Aceeași eroare când încercați să rulați curl.
Iată lanțul de certificări de la Chrome:
