Ачкыч түзүү убактылуу файлды талап кылбайт, жана андан баш тартуу көпчүлүк колдонмолор кыйыткандан азыраак оңдойт. Ал жок кылганы — файлдын жашоо цикли жана анын айланасындагы тазалоо жарышы. Ал тийбеген бойдон калтырганы — кийин сырды агындырып жиберүүнүн ар бир мүмкүнчүлүгү. Бул скрипттердеги тууралык маселеси адатта башка жерде отурат, анткени диагностика менен ачкыч материалы ар башка агымдар менен жүрөт.

Файл эч качан сиз ойлогон ашкерелөө болгон эмес

Убактылуу файл — ал баарына окууга жеткиликтүү болгондо, кулоодон аман калганда же өзгөчө кырдаалдан кийин тазалоо кадамы өткөрүп жиберилгенде так тобокелдик. Булар чыныгы жана аларды оңдоого татыктуу. Алар ошондой эле жергиликтүү, көрүнүктүү жана текшерүүгө жеңил. Өзгөрүү жөн гана көрүнүш үчүн болду деп жыйынтык чыгарганга чейин, ар бирин өз скриптиңизде атаңыз.

Тынчыраак тобокелдиктер төмөндө отурат: жөндөө учурунда басылган ачкыч, бүт натыйжа объектин сериялаган өзгөчө кырдаал, өзөктүк дамп жазган кулоо иштетүүчүсү, адегенде файл жолун, анан мазмунун алган журнал жыйноочусу. Убактылуу файлдан баш тартуу алардын эч бири үчүн эч нерсе кылбайт, жана тескерисинче ишенүү — жакшы ниеттүү кайра жазуу сырды мурункудан ачыкыраак калтырган жол. Өзгөрүүнү кезектеги бир жакшыртуу катары караңыз, чечим катары эмес.

Файл аты берилбегенде кардар эмне жазат

Кардардын учурдагы версиялары чыгуу жолу берилбей ачкыч буйругу берилгенде түзүлгөн ачкычты стандарттык чыгууга жөнөтөт. Так ушул документтелген жүрүм-турум эстеги ыкманы жашоого жарактуу кылат жана куралды түзмөк жолуна багыттоонун эски амалына болгон муктаждыкты жоёт.

import subprocess
proc = subprocess.run(
    ["openvpn", "--genkey", "tls-crypt"],
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE,
    check=True,
)
key_material = proc.stdout

Буйрукту тизме катары өткөрүңүз. Бул жерде кабык кеңейтүүсүнүн кереги жок, ал эми кабыкты күйгүзүү аргумент чегин сиз көзөмөлдөбөгөн тырмакчаларга көз каранды кылмак. Скрипт күткөндөн башка издөө жолу менен иштеши мүмкүн болсо, ниеттелген аткарылуучу файлды абсолюттук жол менен колдонуңуз.

Кайтаруу кодун текшерүү ийгиликсиз чакыруудан кийин ийгилик жолунун улантылышына жол бербейт. Ансыз бош байт сабы алдыга ага алат жана бир топ кечирээк, ачкыч колдонулган жерде ийгиликсиз болот, ал эми ката билдирүүсү эми түзүүнү такыр эске салбайт.

Эки агым, эки маани

Стандарттык чыгуу ачкычты алып жүрөт. Стандарттык ката куралдын сизге айткысы келген баарын алып жүрөт, анын ичинде конфигурация, версия жана ачкычтын түрү тууралуу эскертүүлөр. Экөөнү бир буферге багыттоо — ортосуна сүйлөм тигилген ишенимдүү көрүнгөн ачкычты чыгарган ката.

Ийгиликсиздик жолун да өзүнчө кармаңыз. Чакыруу ийгиликсиз болгондо, ийгиликсиз болгон буйрукту жана чыгуу абалын билдириңиз, анан стандарттык катанын кайсы бир бөлүгүн көрсөтүү коопсузбу деп аң-сезимдүү чечим кабыл алыңыз. Бүт натыйжа объектин журналга төгүү — адаттагы кыска жол, жана ал ачкычты өзү менен алып кетиши мүмкүн.

Экилик үчүн коопсуз окуу кийин материалды хэштесеңиз же салыштырсаңыз маанилүү. Күтүлбөгөн коддоо менен тексттик режим эч качан текст болууга арналбаган байттарды өзгөртүшү мүмкүн, ал эми өзгөргөн ачкычты кол алышуу ийгиликсиз болгонго чейин туура эмес ачкычтан ажыратуу мүмкүн эмес.

Эгер аны баары бир сактасаңыз, муну аң-сезимдүү жасаңыз

Көпчүлүк жайгаштыруулар акырында ачкычты дискте, шлюзде же сырлар кампасында талап кылат. Аны бир жолу жазыңыз, кийинки chmod эмес, түзүлгөн учурдан тартып чектелген укуктар менен, жана жазууну атомдук кылыңыз, ошондо жарым-жартылай файл кызмат ишке киргенде окуган файл болуп калбайт. Ошол эле каталогдогу жолдон кайра атоо буга адатта жетиштүү. Ийгиликсиздик бутагында даярдоо жолун алып салыңыз, анткени ийгиликсиз жазуу — адамдар унутуп калган көчүрмөнүн так өзү.

Файл түзүлгөндө анын режимин коюңуз, жана каталог режимин да чектелүү кармаңыз. Камдык көчүрмө иши ойлонбой шыпырган жердин астындагы каалаган жолдон качыңыз, анткени түнкү камдык көчүрмөдөгү сыр — ошол көчүрмөнүн ар бир көчүрмөсүндөгү сыр. Ошол эле ой жүгүртүү башка кызматтар окуй алган жалпы томго да тиешелүү.

Жалпы ачкыч — бул инсандык эмес

Бул материалды түзүү күбөлүк бербейт, кардарды каттабайт жана ким туташып жатканын аныктабайт. Жалпы ачкыч бири-бирине мурунтан ишенген тараптардын ортосундагы каналды коргойт; инсандык дагы эле күбөлүктөн жана анын алдында турган каалаган аутентификациядан келет.

Ачкычтын түрлөрү да бири-бирин алмаштырбайт. Бир өзгөчөлүк үчүн симметриялык ачкыч экинчиси үчүн даяр балама эмес, жана жаңы чыгарылыштар ар бир учуна ар башка файлдар менен өз варианттарын кошот. Конфигурацияңыз чынында атаган түрдү түзүңүз, анан аны ошол түр аныктаган ролдо колдонуңуз.

Натыйжаны файл өлчөмүн кароо менен эмес, чыныгы туташуу менен текшериңиз. Кол алышуу бүтсө жана журналдар ачкыч тууралуу эскертүү көрсөтпөсө, түзүү жолу туура; эгер ачкыч бириктирилген агымдан кесилген болсо, туташуу скриптти эмес, каршы тарапты көрсөткөндөй ийгиликсиз болмок.

Тектеш макалалар