Клиентът се свързва, договаря за секунда и след това съобщава, че сертификат е изтекъл. Преди да помолите някого да преиздаде каквото и да е, погледнете датата на устройството пред вас: лаптоп, който е спал месец, телефон с ръчно настроен часовник и рутер без работещ източник на NTP — всички те съобщават грешен момент на TLS стека. Сертификатът е валиден само в рамките на прозорец и проверката сравнява този прозорец с това, което твърди локалният часовник. Настройте часовника, след което решете дали проблемът е реален.

Започнете с часовника на устройството

Отворете терминал и прочетете представата на системата за UTC, а не джаджата за часовник на работния плот, която може да показва изглед, коригиран по часова зона, или остаряла стойност, кеширана от графичния интерфейс.

date -u
timedatectl status

Часовник, избързал много, прави валиден сертификат да изглежда изтекъл, а изостанал много — да изглежда все още невалиден, което някои клиенти съобщават със същата обща грешка при ръкостискане. Ако синхронизацията е изключена или източникът на време е недостъпен, поправете това първо и тествайте отново, преди да пипате какъвто и да е файл. Връщането на часовника назад, за да се заобиколи изтичане, не е решение: то чупи други услуги на устройството и оставя проблема с идентичността точно там, където беше.

Ако часовникът е правилен, изтичането е истинско и останалата част от това ръководство важи. Отбележете коя часова зона използва журналът на клиента, преди да сравнявате времеви отпечатъци от две устройства. Сървър в друга зона може да направи подновяване да изглежда ранно или късно, когато не е било нито едното. Сравнявайте с отпечатъка във реда от собствения журнал на клиента, а не със стенния часовник на бюрото си.

Прочетете реда с грешката преди профила

Запазете точния текст. Грешката при проверка на OpenVPN посочва дълбочина и причина и тези две полета казват кой трябва да действа.

VERIFY ERROR с error=certificate has expired е отказ по валидност в конкретна точка от веригата. Това не е отхвърляне на парола и не е изчакване, и трите изискват различни реакции.

Копирайте целия ред в бележките си заедно с версията на клиента. Ако съобщението вместо това казва, че сертификатът все още не е валиден, връщате се към въпроса за часовника. Ако казва, че издателят е неизвестен, имате проблем с доверието, а не с живота на сертификата, и никакво подновяване няма да го промени.

Намерете кой сертификат е изтекъл

Дълбочина нула е сертификатът, представен от партньора, към който сте се свързали, а по-високите дълбочини вървят към корена. Работният VPN обикновено оставя да изтече идентичност на клиент или сертификат на сървър, а понякога и междинен, за който организацията е забравила, че притежава.

Отпечатайте датите на файловете, към които профилът наистина се позовава, започвайки с този на дълбочината, посочена в грешката.

openssl x509 -in client.crt -noout -subject -issuer -dates
openssl x509 -in ca.crt -noout -subject -dates

Ако профилът вгражда сертификати като вградени блокове вместо да сочи файлове, отделните файлове на диска може да са по-стари или по-нови от това, което използва клиентът; затова съпоставянето на грешката с файл изисква четене на профила, а не списък на папката.

Подновете през издателя

Клиентският сертификат се заменя от този, който го е издал, а нулирането на парола на акаунт не подновява нищо. За работна връзка използвайте канала за подновяване, който организацията ви публикува; за хостинг услуга влезте в портала на доставчика през проверен адрес, вместо да отваряте прикачен файл, който твърди, че съдържа нов профил. Непоисканият пакет не е надежден само защото името на файла споменава VPN.

Ако управлявате сървъра, проверете публичните данни и записите за издаване, преди да замените материали, защото промяната на CA засяга всеки клиент, който му се доверява.

Подновяването на една идентичност не би трябвало да изисква замяна на йерархията на доверие. Ако някой предложи нов CA, за да поправи един изтекъл лист, попитайте първо какво друго зависи от стария. А RFC 5280 правилата за валидност и път са моделът, който следват и двете страни.

Накарайте клиента да използва замяната

Изтеглянето на файл не е импортирането му. Проверете записа за връзка, който действително избирате, и проверете дали профилът сочи външни пътища за сертификати, които сте забравили да презапишете.

Оставете стария запис видим, докато новият се свърже, след което го премахнете, за да не избира никой изтеклия профил по навик. Свържете се отново и потвърдете, че конкретната грешка за изтичане е изчезнала.

Ако остане друга TLS грешка, третирайте я като нов проблем, вместо да отслабвате настройките за проверка, за да я подминете. Отхвърляне на акаунт или липсващ маршрут след успешно подновяване е отделна повреда с отделно решение.

Подобни статии