Nađete prijedlog da dodate opt-verify, dodate redak, a greška šifre ostaje točno tamo gdje je bila. Taj je ishod predvidljiv jer opcija nikada nije pregovarala šifru. Bila je to provjera dosljednosti opcija, zastarjela u 2.6 i uklonjena u 2.7, a profil koji se s njom još uvijek parsira time nije ništa nametnuo.

Korisno je znati što je redak nekada radio prije nego zaključite da je on dio koji nedostaje. Povijest također objašnjava zašto sada ne može pomoći.

Što je opcija nekada nametala

Priručnik za 2.6 označava opt-verify kao zastarjelu i opisuje ranije ponašanje: poslužitelj odbacuje klijente čije se deklarirane opcije ne podudaraju s njegovima, uspoređujući stvari poput vrste uređaja i MTU-a. Ta provjera također ovisi o tome da provjera dosljednosti opcija ostane uključena, pa je poslužitelj koji radi s disable-occ nikada nije imao. Primijetite od čega je usporedba sastavljena: od teksta koji opisuje konfiguraciju druge strane. Ona ne govori ništa o tome koju će šifru koristiti podatkovni kanal.

To je prvi razlog zašto zastavica ne može popraviti grešku šifre. Odabir šifre uređen je politikom data-ciphers i onim što obje strane podržavaju, a tekstualna provjera dosljednosti ni ne proširuje taj popis ni ne obavlja pregovaranje. Drugi je razlog opseg: provjera se odnosi na to izgledaju li deklarirane opcije kompatibilnima, a ne na kvalitetu puta koji iz toga proizlazi.

Što 2.7 radi kad vidi redak

U 2.7 opcije nema. Parser još prepoznaje ime, zato se stari profil učitava bez sintaksne greške, i prijavljuje da je opcija uklonjena umjesto da je prešuti. Prepoznati ime i nametnuti ponašanje dvije su različite stvari, a događa se još samo prvo. Bilješke o uklanjanju daju razlog: kad se o parametrima može pregovarati, dvije strane mogu legitimno imati različite nizove opcija dok se slažu o vezi.

Profil koji se parsira stoga nije dokaz da je ikakva provjera prijema provedena. Ako je vaš jedini signal to da se klijent povezao, naučili ste da je sintaksa prihvaćena.

Gdje se kvar zapravo nalazi

Sačuvajte prvu konkretnu grešku prije nego što išta promijenite, jer su kasnije poruke obično njezine posljedice. Neuspjeh pregovaranja podatkovnog kanala pripada odobrenoj politici šifri i mogućnostima koje obje strane stvarno oglašavaju. Neuspjeh verzije ili skupa TLS-a pripada kontrolnom kanalu. Odbijanje certifikata treba identitet i lanac povjerenja, a ne zastavicu kompatibilnosti.

Identificirajte i pogon na oba kraja. Stolna aplikacija može sadržavati drugu gradnju od naredbenog binarnog zapisa s kojim ste testirali, a podrška za opcije razlikuje se među njima. Provjerite dokumentaciju tog pogona umjesto da pretpostavite da se svaki program koji uvozi profil ponaša jednako.

Zamijenite namjeru, ne samo redak

Ako se stariji upravljani poslužitelj doista oslanjao na provjeru dosljednosti, zabilježite koje je ograničenje nametao prije nadogradnje. Zadržavanje ignorirane opcije u novijem profilu ne može sačuvati tu politiku, a ni nasumično brisanje redaka ne može.

Ne odgovarajte na stari prijedlog da su sve šifre onemogućene uključivanjem svakog povijesnog algoritma.

Nakon odobrene ispravke pregledajte pregovarane rezultate na novoj vezi i testirajte aplikaciju koja korisniku stvarno treba. Držite verziju poslužitelja i učinkovitu politiku uz taj rezultat, kako bi sljedeća osoba vidjela što je dogovoreno, a ne samo što je prihvaćeno.

Cilj je podržano ograničenje i radni autentificirani put, a ne naslijeđena zastavica koja se još uvijek parsira.

Povezani članci