Aš jau esu užlipęs ant šios duobės. Pamiršau, kaip praktikuotis, bet vis dar prisimenu šį principą. Apytiksliai paaiškinkite:
Naršyklės diegimo pakete saugomi kai kurie šakniniai sertifikatai (viešieji raktai), kuriais ji pasitiki.
Saugumo sumetimais sertifikatų išdavėjai paprastai saugo privačius raktus, atitinkančius šiuos šakninius sertifikatus, visiškai atjungtoje saugykloje. Šie šakniniai privatūs raktai naudojami saugykloje kai kuriems "tarpiniams" sertifikatams išduoti, o šių tarpinių sertifikatų privatūs raktai turi teisę išduoti kito lygio sertifikatą. Šie tarpiniai privatūs raktai įdiegiami internetiniuose serveriuose, kad būtų galima užsidirbti pinigų išduodant svetainės sertifikatus. Kai į šiuos serverius įsilaužiama, leidėjas gali išduoti atšaukimo nurodymą naudodamas fiziškai izoliuotą šakninio sertifikato privatųjį raktą saugykloje, kad pašalintų šių tarpinių sertifikatų pasitikėjimą, visiškai nepasitikėdamas leidėjo šakniniu sertifikatu. Pasirašykite naują tarpinio išdavimo pažymėjimą ir būsite geras žmogus, galintis užsidirbti pinigų.
Čia kyla klausimas.
Naršyklė atpažįsta tik šakninį sertifikatą. Norėdami patvirtinti tarpinį sertifikatą, turite išduoti savo sertifikatą.
Tinkamai sukonfigūruotoje HTTPS svetainėje turėtų būti visa sertifikatų grandinė. Pavyzdžiui, naudokite komandą openssl s_client -connect www.wosign.com:443, kad peržiūrėtumėte pačios "Wosign" svetainės konfigūraciją. Likusio turinio galima nepaisyti, tiesiog pažiūrėkite į sertifikatų grandinės pastraipą: --- Sertifikatų grandinė 0 s:/1.3.6.1.4.1.311.60.2.1.3=CN/1.3.6.1.4.1.311.60.2.1.2=Guangdongas/1.3.6.1.4.1.311.60.2.1.1=Shenzhen/businessCategory=Privatus Organization/serialNumber=440301103308619/C=CN/ST=\xE5\xB9\xBF\xE4\xB8\x9C\xE7\x9C\x81/L=\xE6\xB7\xB1\xE5\x9C\xB3\xE5\xB8\x82/postalCode=518067/street=\xE6\xB7\xB1\ xE5\x9C\xB3\xE5\xB8\x82\xE5\x8D\x97\xE5\xB1\xB1\xE5\x8C\xBA\xE5\x8D\x97\xE6\xB5\xB7\xE5\xA4\xA7\xE9\x81\x931057\xE5\x8F\xB7\xE7\xE7\xE7\x91\xE6\x8A\x80\xE5\xA4\xA7\xE5\ x8E\xA6\xE4\xBA\x8C\xE6\x9C\x9FA\xE6\xA0\x8B502#/O=WoSign\xE6\xB2\x83\xE9\x80\x9A\xE7\x94\xB5\xE5\xAD\x90\xE8\xAE\xA4\xE8\xAF\x81\xE6\x9C\x8D\xE5\x8A\xA1\xE6\x9C\x89\ xE9\x99\x90\xE5\x85\xAC\xE5\x8F\xB8/CN=www.wosign.com i:/C=CN/O=WoSign CA Limited/CN=WoSign 4 klasės EV serverio CA 1 s:/C = CN / O = WoSign CA Limited / CN = WoSign 4 klasės EV serverio CA i:/C=CN/O=WoSign CA Limited/CN=WoSign sertifikavimo institucija 2 s:/C=CN/O=WoSign CA Limited/CN=WoSign sertifikavimo institucija i:/C=IL/O=StartCom Ltd./OU=Saugus skaitmeninio sertifikato pasirašymas/CN=StartCom sertifikavimo institucija ---
0, 1 ir 2 yra kiekvieno sertifikatų grandinės sertifikato lygio serijos numeriai. 0 yra sertifikatas, kurį naudoja svetainė, kurią reikia patikrinti. Jo CN turėtų atitikti svetainės domeno vardą. Po kiekvieno serijos numerio eilutė, prasidedanti s, nurodo sertifikatą, o eilutė, prasidedanti i, nurodo, kas išdavė sertifikatą.
Galima pastebėti, kad CN 0 yra įtariamas kiniškas domeno vardas ir angliškas domeno www.wosign.com. Jį išduoda WoSign CA Limited/CN=WoSign Class 4 EV Server CA.
1 sertifikatas yra 0 išdavėjas. 1 pats yra išduotas kito sertifikato, WoSign sertifikavimo institucijos. Pažvelkime į kitą lygį, 2. Jame sakoma, kad "WoSign" sertifikavimo instituciją išduoda "StartCom" (haha, pasirodo, kad tai subrangovas!). )
Taigi, pažvelgus į jį tokiu lygiu, naršyklė sako, oh, aš žinau 2 išdavėją, ir jis minimas diegimo pakete, StartCom. Teisingas parašas ir patvirtinimas, todėl pasitikėkite 2. Tada taip pat turėtumėte pasitikėti 1 išduotu 2 ir 0 išduotu 1. Taigi šia svetaine galima pasitikėti.
--
Tačiau jei svetainė sukonfigūruota taip, kad CRT faile būtų tik ji pati, o ne sertifikatų grandinė, kuri yra pakankamai išsami, kad ją būtų galima patikrinti naršyklės įtaisytaisiais duomenimis, naršyklė gali ją atmesti. Kaip ką openssl s_client -connect touko.moe:443 --- Sertifikatų grandinė 0 s:/CN=touko.moe i:/C=CN/O=WoSign CA Limited/CN=WoSign CA nemokamas SSL sertifikatas G2 --- Vienoje grupėje yra tik 0. Aprašymas Touko.moe eilutėje s išduoda WoSign CA Free SSL sertifikatas G2 eilutėje i. Jo nebėra.
Tai yra nuostabiausias dalykas šioje spąstuose: ne visada tiesa, ar naršyklė šiuo metu nepavyksta patikrinti. Yra 2 situacijos: A. Aš niekada nemačiau šio i nuo tada, kai buvo įdiegta naršyklė. Tada patvirtinimas nepavyksta. B. Jei naršyklė anksčiau matė ir patvirtino i, patvirtinimas bus sėkmingas.
Paprastai administratorius nueis į sertifikato išdavėjo https svetainę, kad nusipirktų sertifikatą, o naršyklė jį patikrins, o tada talpykloje išsaugos visus sėkmingai patikrintus tarpinius sertifikatus, taupydamas laiką ateityje. Kai administratorius (per klaidą) sukonfigūravo savo svetainę ir nuėjo naršyti testo, jis nesusidūrė su jokiomis problemomis. Nes jo naršyklė jau atpažįsta šį tarpinį sertifikatą.
Tačiau daugelis vartotojų gali būti neapsilankę kitose tinkamai sukonfigūruotose svetainėse, išduotose pagal šį tarpinį sertifikatą. Todėl patikrinti nepavyksta, nes nepavyksta rasti patikimo išdavėjo.
Tai galima palyginti su "Volkswagen" dyzelinių transporto priemonių išmetamųjų teršalų kontrole. Patikrinus viskas buvo gerai. Kai tik jie išeina į lauką, jie įdeda nuodų.
REDAGUOTI:Kaip ištaisyti ...... Tikriausiai reikia pridėti SSLCertificateChainFile nustatymą konfigūruojant serverį ir naudoti paketo failą, kurį pateikia sertifikato išdavėjo svetainė (faile yra krūva tarpinių sertifikatų, kad būtų užmegztas ryšys tarp jūsų sertifikato ir didelio patikimumo sertifikato).
|