Du dosieroj, du direktivoj kaj la kutimo nomi ambaŭ laŭ tio, kion ili agordas. Tiel dh.pem finiĝas en tls-auth-linio kaj la kliento fiaskas kun mesaĝo pri neatendita ŝlosilformo. La decido antaŭ vi ne estas, kiu dosiero estas pli forta. Ĝi estas, kiun rolon la deplojo vere bezonas, kaj tri kondiĉoj decidas tion: kiun ŝlosilinterŝanĝon via TLS-stako intertraktos, ĉu vi entute volas aŭtentikigon de la regkanalo, kaj ĉu la materialo devas resti sekreta.

Respondu al ili laŭvice kaj la dosiera demando respondos sin mem. Preterlasu ilin kaj la direktivnomoj komencos ŝajni interŝanĝeblaj, kio estas ĝuste la stato, el kiu la eraro venas.

Legu la etikedon antaŭ la dosiernomo

La unua linio de la dosiero pli informas ol ĝia nomo, ĉar nomo estas homa konvencio kaj la etikedon produktas la ilo. Diffie-Hellman-parametroj portas PEM-etikedon BEGIN DH PARAMETERS. Statika ŝlosilo de OpenVPN estas tute alia strukturo, kun propra kapo kaj deksesuma ŝarĝo.

Renomado konvertas nenion. Parametra dosiero nomata ta.key restas parametroj, kaj statika ŝlosilo nomata dh.pem restas statika ŝlosilo; la analizilo legas la enhavon kaj malakceptas la malkongruon. Kontrolu antaŭ ol redakti la profilon:

head -n 1 dh.pem
head -n 1 ta.key

Tri kondiĉoj, kiuj decidas, kiun dosieron vi bezonas

La unua kondiĉo estas la interŝanĝo. Diffie-Hellman-manpremo en finia kampo bezonas grupon, kaj la direktivo dh estas kie la servilo nomas la parametrojn por ĝi. Manpremo sur elipsa kurbo tute ne bezonas tiun dosieron, ĉar la kurbo estas la parametraro. Se via servilo intertraktas nur ECDHE-arojn, DH-dosiero estas morta pezo anstataŭ plia forto.

La dua kondiĉo estas aŭtentikigo de la regkanalo, aparta trajto kun propra materialo. Dosiero tls-auth estas komuna statika ŝlosilo, kiun tenas ambaŭ partneroj, uzata por subskribi pakaĵojn de la regkanalo, por ke neaŭtentikigita partnero eĉ ne povu fini la manpremon. Ĝi ekzistas sendepende ĉu vi uzas DH en finia kampo, kaj ĝi rilatas nenion al la grupaj parametroj.

La tria kondiĉo estas sekreteco kaj disdonado. DH-parametroj povas esti publikigataj sen malfortigi la seancon, ĉar la sekretaj valoroj estas generataj por ĉiu manpremo kaj neniam forlasas la partnerojn. Statika ŝlosilo ne rajtas esti publikigata: ĝi estas la samaj bajtoj ĉe ambaŭ finoj, ĝi ne rotacias mem, kaj ĉiu, kiu tenas ĝin, povas produkti validajn subskribojn de la regkanalo. Tiuj du respondoj kondukas al tute malsamaj reguloj pri traktado, kial unu dosiero povas sidi en deponejo kaj la alia ne.

Generu la ĝustan materialon por ĉiu rolo

Uzu la ilon, kiu produktas la formaton, kiun la direktivo atendas, anstataŭ konverti inter ili. Por la komuna ŝlosilo en OpenVPN 2.6, la tipa formo de la generatoro eksplicite nomas la celon.

openvpn --genkey tls-auth ta.key

Tiu komando kreas novan sekretan materialon; ĝi ne riparas aŭ inspektas ekzistantan ŝlosilon, kaj ruli ĝin denove donas al vi alian ŝlosilon, kiun la aliaj partneroj ne havas. Kopiu la rezultan dosieron al la partneroj, kiuj bezonas ĝin, per kanalo, kiun vi uzus por iu ajn komuna sekreto, kaj tenu la direktonkonvencion konsekva: kun tls-auth unu flanko uzas key-direction 0 kaj la alia key-direction 1.

DH-parametroj, kiam vi bezonas ilin, venas de parametrogenerado, ne de ŝlosilgeneratoro, kaj ilia deveno gravas eĉ kiam la eligo estas publika. Grupo prenita el nekonata fonto ne fariĝas fidinda pro tio, ke ĝi estas publika; ĝi ankoraŭ devas esti grupo, pri kiu viaj partneroj konsentas, kaj unu, kiun ne malfortigas ĝia grandeco aŭ konstruo.

Kion dh none faras kaj kion ne

dh none estas vera direktivo kun mallarĝa signifo: neniu parametra dosiero de finia kampo estos ŝargita, ĉar la manpremo uzas Diffie-Hellman sur elipsa kurbo. Ĝi ne estas mallongigo por „preterlasi la DH-paŝon“ en la senco malfortigi ion, kaj ĝi certe ne diras al OpenVPN akcepti ian alian dosieron kiel anstataŭaĵon.

Du eraroj sekvas el la malĝusta legado. La unua estas supozi, ke dh none forigas la bezonon de tls-auth, dum la du regas malsamajn aferojn. La dua estas teni malnovan dh-linion apud agordo nur-kurba kaj poste demandi, kiun dosieron la servilo efektive uzas; se la direktivo ĉeestas, la dosiero estas legata, kaj rompita vojo tie fiaskigas la starton pro kialo nerilata al la interŝanĝo, kiu estos intertraktata.

Se la malĝusta dosiero jam estas deplojita

Restarigu la celatan sekreton de la profilposedanto kaj lasu la certifikatkontrolon trankvila dum vi faras tion. La fiasko estas malkongruo de formato, ne fiasko de fido, kaj malŝalti la kontrolon por preterpasi la eraron anstataŭigas startan problemon per silenta.

Poste apartigu la du okazaĵojn, kiujn homoj emas kunfandi. Publikigi DH-parametran dosieron estas preskaŭ sendanĝere, ĉar la parametroj estis publikaj laŭ dezajno. Elmeti la ŝlosilon tls-auth estas alia okazaĵo: la ŝlosilo aŭtentikigas pakaĵojn de la regkanalo por ĉiu partnero, kiu tenas ĝin, do la anstataŭigo devas esti kunordigita tra la tuta deplojo anstataŭ aplikita al unu gastiganto.

Kontrolo de kvin minutoj decidas, en kiu kazo vi estas: legu la unuan linion de ĉiu dosiero, konfirmu la direktivon, kiu referencas ĝin, kaj konfirmu, ke la disdonado de la dosiero kongruas kun tio, kion la materialo postulas. Tio estas pli malgranda laboro ol rekrei funkciantan PKI, kaj ĝuste tion la tri kondiĉoj montris la tutan tempon.

Rilataj artikoloj