Kodėl cryptoapicert nepavyksta OpenVPN 3 ir Connect programose Windows sistemoje
Ši direktyva priklauso vienam Windows klientui, o ne protokolui. Pagrindinė biblioteka teikia pasirašymo atgalinius iškvietimus, o priekinė dalis turi savo importavimo eigą.
Jūs nukopijuojate veikiantį OpenVPN 2 profilį į naujesnį Windows klientą, ir sertifikatas, kurį senasis klientas rasdavo pats, nebeteikiamas. Eilutė, kuri tai įgalino, yra tik Windows būdingas parinkiklis, priklausantis Community 2 klientui, o naujesnė programa yra kita programa su kitu prisijungimo duomenų keliu. Profilis nepakitęs, išskyrus tą vieną eilutę, ir būtent tai apsunkina skirtumo pastebėjimą.
Toje ataskaitoje sumaišomi trys sluoksniai: Community klientas, pagrindinė biblioteka ir priekinė dalis, kurią kas nors įdiegė. Tik vienas iš jų kada nors suprato direktyvą.
Ką parinktis reiškia ten, kur ji egzistuoja
Community OpenVPN 2 kliente Windows sistemoje cryptoapicert nurodo sertifikatą, kurį klientas turi rasti Windows sertifikatų saugykloje, o ne byloje. Tai tik Windows būdingas patogumas, ir jis veikia todėl, kad tas klientas moka išvardyti saugyklą ir perduoti gautą raktą savo TLS dėklei. Todėl direktyva yra to kliento konfigūracijos kalbos dalis, o ne OpenVPN protokolo savybė. Perdavimo formate nieko jos neneša.
Nukopijuokite tą pačią eilutę į kitą programą ir nukopijavote žodį, kurį naujoji programa gali išanalizuoti, ignoruoti arba atmesti. Direktyva nėra protokolo savybė, ir ši net nėra OpenVPN kalbančio kiekvieno kliento savybė.
Ką vietoj to teikia pagrindinė biblioteka
OpenVPN 3 Core yra biblioteka, kurią įterpia kitos programos, ir ji tvarko išorinius prisijungimo duomenis per API, o ne saugyklos paieška. Įterpianti programa pateikia sertifikatų grandinę ir vėliau prašo bibliotekos pasirašyti išoriniu raktu, o biblioteka tam atgal kreipiasi į programą. Tai bendresnis dizainas, ir tai reiškia, kad priekinė dalis sprendžia, kurie tiekėjai egzistuoja. Pačios bibliotekos parinkčių apdorojime cryptoapicert pasirodo tarp neįgyvendintų direktyvų, o tai atitinka tokį atsakomybės padalijimą.
Šių atgalinių iškvietimų egzistavimas nereiškia, kad tam tikra supakuota programa išvardija dabartinio naudotojo asmeninę saugyklą, palaiko konkretų raktų tiekėją arba gali užbaigti išmaniosios kortelės užklausą. Tai priekinės dalies savybės, ir kiekvieną jų turi dokumentuoti priekinė dalis.
Ką vietoj to daro Windows priekinė dalis
OpenVPN Connect eina kitu keliu: operatorius importuoja PKCS#12 failą, kuriame yra sertifikatas ir jo privatusis raktas, į tam skirtą OpenVPN Certificate Store, tada priskiria išorinį sertifikatą profiliui. Tai sąmoningas importavimo žingsnis, o ne automatinis to, kas atsitiktinai yra asmeninėje saugykloje, aptikimas. Skirtumas svarbus, kai kas nors mano, kad kitam tikslui įdiegtas sertifikatas tiesiog pasirodys kliento sąraše.
Importavimas turi pasekmių ir raktų politikai, nes rakto eksportavimas į P12 failą yra būtent tai, ką neeksportuojamas raktas skirtas užkirsti. Tai politikos, o ne konfigūracijos klausimas, ir jis nusipelno atsakymo prieš kam nors bandant importuoti.
Pasirinkite kelią, atitinkantį rakto politiką
Jei prisijungimo duomenis galima eksportuoti ir politika leidžia dokumentuotą importavimą, naudokite organizacijos apsaugotą registracijos procesą ir laikykite laikiną P12 bei jo slaptažodį už žurnalų ir scenarijų ribų. Jei raktas niekada neturi palikti išmaniosios kortelės ar apsaugoto tiekėjo, pasirinkite kliento ir tiekėjo derinį, kuris aiškiai palaiko šį reikalavimą, arba gaukite tiekėjo patvirtinimą dėl įdiegtos versijos. Nė viena šaka nėra kitos pakaitalas.
Direktyvos grąžinimas į profilį negali suteikti integracijos, kurios programa neturi. Nė naujesnė kliento versija nebūtinai ją prideda, nes gebėjimas priklauso pačiam priekinės dalies dizainui.
Kai vietinis raktas veikia, serveris vis tiek tikrina sertifikato tapatybę, grandinę ir autorizaciją. Naudojamas vietinis raktas ir priimta VPN tapatybė yra atskiri rezultatai, ir jų atskyrimas yra tai, kas neleidžia priekinės dalies apribojimui virsti susilpninta sertifikatų politika.