Easy-RSA каже да PKI недостаје? Тражи на другом месту
Недостајући CA кључ или index.txt обично значи да је Easy-RSA 3 изабрао други директоријум. Прво проверите селектор PKI, приоритет и отисак издаваоца.
Команда се зауставља због недостајућег ca.crt или недостајућег index.txt, а CA већ месецима издаје сертификате. На самој власти ништа се није променило; команда је једноставно погледала негде другде. Easy-RSA 3 одређује PKI директоријум из опције, променљиве окружења, vars датотеке и уграђене подразумеване вредности, а било који од њих може указивати далеко од власти инсталације. Проверите који је победио пре него што било шта направите.
Грешка именује датотеку, а не директоријум
Инсталациони директоријум и директоријум издаваоца су два различита места. Проналажење easyrsa на машини доказује само да је алат инсталиран, а не да је пронашао власт у коју ваш VPN верује.
Зато поновна инсталација пакета или поновно покретање корака init изгледа продуктивно и не мења ништа.
Прво проверите селектор
У Easy-RSA 3 селектор је EASYRSA_PKI или одговарајућа опција --pki-dir. Наведите апсолутну путању, на пример --pki-dir=/srv/pki/office, и одговор престаје да зависи од тога где сте случајно стајали. Та једна навика уклања целу класу ове грешке, посебно за скрипте покренуте из cron-а или из CI checkout-а.
Прво потврдите генерацију, јер је навика Easy-RSA 2 са vars датотеком плус build-key другачији модел од оног који Easy-RSA 3 очекује. easyrsa --version исписује генерацију пре него што учини било шта друго, а ./easyrsa --help наводи подкоманде: циљ build-key значи 2.x, док build-client-full значи 3.x. Преношење старе KEY_DIR путање у 3.x позив зато што име директоријума изгледа познато производи управо ову грешку.
Ако се низ верзије и синтакса команде не слажу, зауставите се и прочитајте документацију инсталираног издања.
Приоритет објашњава изгубљену vars датотеку
Документовани приоритет је опција командне линије, затим окружење, затим vars датотека, затим уграђена подразумевана вредност. Зато исправна вредност у vars губи од наслеђене променљиве окружења, и то је тиха верзија овог квара. Испитајте намераване променљиве и избор датотеке уместо да цело окружење изручите у тикет. Разлика између њих је обично тајна.
Прођите ланац по реду и забележите који је извор дао путању коју је команда користила. Када то знате, поправка је заставица или export, а не нови сертификациони орган.
Easy-RSA референца за конфигурацију дефинише селектор и приоритет, и то је цитат који треба ставити у тикет.
Потврдите издаваоца јавним материјалом
Код уобичајеног издаваоца заснованог на датотекама, прочитајте ca.crt и упоредите његов отисак са записом издаваоца који сте одобрили. Подударно име субјекта није доказ идентитета, а ни директоријум назван production. Само отисак повезује датотеку коју сте нашли са влашћу којој су ваши партнери требали да верују.
Довољна је провера само за читање: openssl x509 -in /srv/pki/office/ca.crt -noout -subject -issuer -serial -fingerprint -sha256.
Затим утврдите улогу директоријума. Директоријум захтева који клијент користи није база издаваоца, а кључ за потписивање који се чува ван мреже нема шта да тражи на сваком VPN домаћину. Недостајући ca.key је пројектна особина у том распореду, а не дозвола да измислите заменску власт.
Ако је стање заиста нестало
Понекад је путања исправна, а стања заиста нема. Празан index.txt и поново покренут серијски бројач дају вам PKI која изгледа здраво и не може ништа да докаже о сертификатима које никада није видела: обнове неће опозвати старе, а нови бројеви ће се сударити са историјом. Уместо тога вратите из одобрене резервне копије CA, јер иницијализација празног PKI-ја негде другде само премешта грешку и оставља други, неповезани орган.
Када се путања и издавалац сложе, следећи квар третирајте по његовој суштини. Permission denied, кључ за потписивање коме треба његова приступна фраза и недостајући запис о издавању три су различита квара, а само један од њих тиче се директоријума који сте управо поправили.
Никада не уклањајте шифровање кључева нити проширујте дозволе директоријума да бисте прикрили грешку путање. Грешка се јефтино поправља; поправка не.