Zašto cryptoapicert ne radi u OpenVPN 3 i Connect na Windowsu
Direktiva pripada jednom Windows klijentu, a ne protokolu. Osnovna biblioteka nudi povratne pozive za potpisivanje, a frontend ima vlastiti tok uvoza.
Kopirate radni OpenVPN 2 profil u noviji Windows klijent, a certifikat koji je stari klijent sam pronalazio više se ne nudi. Linija koja je to omogućila je selektor specifičan za Windows koji pripada Community 2 klijentu, a novija aplikacija je drugi program s drugim putem akreditiva. Profil je nepromijenjen osim te jedne linije, i upravo to čini razliku teško vidljivom.
U tom izvještaju se miješaju tri sloja: Community klijent, osnovna biblioteka i frontend koji je neko instalirao. Samo je jedan od njih ikada razumio direktivu.
Šta opcija znači tamo gdje postoji
U Community OpenVPN 2 klijentu na Windowsu cryptoapicert označava certifikat koji klijent treba pronaći u Windows spremištu certifikata, a ne u datoteci. To je pogodnost specifična za Windows i radi jer taj klijent zna nabrojati spremište i predati dobijeni ključ svom vlastitom TLS steku. Direktiva je stoga dio jezika konfiguracije tog klijenta, a ne svojstvo OpenVPN protokola. Ništa u formatu prijenosa je ne nosi.
Kopirajte istu liniju u drugu aplikaciju i kopirali ste riječ koju novi program može parsirati, ignorisati ili odbiti. Direktiva nije protokolna funkcija, a ova čak nije ni funkcija svakog klijenta koji govori OpenVPN.
Šta osnovna biblioteka nudi umjesto toga
OpenVPN 3 Core je biblioteka koju druge aplikacije ugrađuju i vanjske akreditive obrađuje kroz API, a ne pretraživanjem spremišta. Aplikacija koja je ugrađuje dostavlja lanac certifikata i kasnije traži od biblioteke da potpiše vanjskim ključem, a biblioteka se vraća u aplikaciju da to učini. To je općenitiji dizajn i znači da frontend odlučuje koji provajderi postoje. U vlastitoj obradi opcija biblioteke cryptoapicert se pojavljuje među direktivama koje nisu implementirane, što je u skladu s tom podjelom odgovornosti.
Postojanje tih povratnih poziva ne znači da data upakovana aplikacija nabraja lično spremište trenutnog korisnika, podržava određenog provajdera ključeva ili može dovršiti upit pametne kartice. To su svojstva frontenda i svako od njih frontend mora dokumentovati.
Šta umjesto toga radi Windows frontend
OpenVPN Connect ide drugim putem: operater uvozi PKCS#12 datoteku koja sadrži certifikat i njegov privatni ključ u OpenVPN Certificate Store stvoren u tu svrhu, a zatim dodjeljuje vanjski certifikat profilu. To je namjeran korak uvoza, a ne automatsko otkrivanje onoga što se slučajno nalazi u ličnom spremištu. Razlika je važna kada neko pretpostavi da će se certifikat instaliran u drugu svrhu jednostavno pojaviti na listi klijenta.
Uvoz ima posljedicu i za politiku ključeva, jer je izvoz ključa u P12 datoteku upravo ono što je neizvozivi ključ namijenjen sprječavanju. To je pitanje politike, a ne konfiguracije, i zaslužuje odgovor prije nego što neko pokuša uvoz.
Odaberite put koji odgovara politici ključa
Ako je akreditiv izvoziv i politika dopušta dokumentirani uvoz, koristite zaštićeni proces registracije organizacije i držite privremeni P12 i njegovu lozinku izvan dnevnika i skripti. Ako ključ nikada ne smije napustiti pametnu karticu ili zaštićenog provajdera, odaberite kombinaciju klijenta i provajdera koja izričito podržava taj zahtjev ili pribavite potvrdu od dobavljača za verziju koju ste instalirali. Nijedna grana nije zaobilazni put za drugu.
Vraćanje direktive u profil ne može pružiti integraciju koju aplikacija nema. Niti je novija verzija klijenta nužno dodaje, jer sposobnost pripada vlastitom dizajnu frontenda.
Kad lokalni ključ proradi, server i dalje provjerava identitet certifikata, lanac i autorizaciju. Upotrebljiv lokalni ključ i prihvaćen VPN identitet su odvojeni ishodi, a njihovo razdvajanje je ono što sprječava da se ograničenje frontenda pretvori u oslabljenu politiku certifikata.