Aceasta este o întrebare oarecum canonică... Sper că este în regulă.
În angajarea mea, rezolv adesea situațiile în care un client care rulează pe un server Linux (de obicei o aplicație java) nu are încredere într-un certificat valid, semnat - un certificat care este de încredere de către browsere. Soluția noastră rapidă obișnuită este să adăugăm certificatul în magazinul de încredere java cacerts, dar mă deranjează de ce este necesar.
Din punctul meu de vedere, există două posibilități:
- Partea serverului nu trimite lanțul complet (certificat de entitate finală + certificate intermediare), în ordinea corectă, ȘI clientul nu are încredere în certificatele intermediare (poate pentru că este prea vechi.)
- Magazinul de încredere pentru client nu conține certificatul rădăcină pentru a fi folosit ca ancoră de încredere (poate pentru că este prea vechi.)
Este corect? Dacă da, se pare că posibilitățile alternative de a forța încrederea în certificatul final al entității sunt:
- Configurați aplicația server pentru a trimite lanțul complet.
- Actualizați clientul (de exemplu, java) la o versiune mai nouă. În cazul meu, de obicei, versiunea majoră de java care poate fi utilizată este limitată de cerințele prealabile ale software-ului, dar poate că fiecare versiune minoră conține un magazin de încredere actualizat?
Orice gânduri de clarificări sunt apreciate.